javascript - 如何在angular渲染完dom以后执行js代码
PHP中文网
PHP中文网 2017-04-10 17:18:23
[JavaScript讨论组]

我在一个页面的controller中要根据拿到的数据来对某p的class进行操作,但是这时候dom还没渲染完,这个p是repeat出来的,此时拿到的只是空的nodelist,想问大家怎样才能知道angular渲染结束并且顺利执行我的代码?

PHP中文网
PHP中文网

认证0级讲师

全部回复(3)
怪我咯

这里,我没看懂你要完成以后做什么操作。暂且不管他。

ng渲染完以后 数据会自己绑定上去。你应该不需要自己去操作。而且不推荐你去干扰ng自己的digest流。

如果你胆儿肥的话,可以照这个做
https://github.com/angular/angular.js/issues/734

还有

http://docs-next.angularjs.org/api/angular.module.ng.$rootScope.Scope#$evalAsync

但是我觉得你的问题可能并不是你想的那样,即使你的repeat的list是空的 也会在装满以后自己渲染出来。

这里你需要注意 你的list 是否中途重新赋值了。如果有,那你傻逼了。

如果你非要那样玩儿。可以试试看用一个函数包裹。函数里面返回你要处理的list,在模板上repeat 那个 函数的返回值。

如果你的这个list是请求回来的。那么你用ng resouce的正确规则去取,然后直接往页面上丢就行了。取完了他自己会出现。

现在确保数据正确,你可以用ng class 在ng的渲染流中加你的class了。

黄舟

ng-repeat-end-watch

伊谢尔伦

http://stackoverflow.com/questions/15207788/calling-a-function-when-ng-repeat-has-finished

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号