AngularJS:如何在AngularJS渲染模板后运行其他代码?
2022-08-30 01:45:07
我在DOM中有一个Angular模板。当我的控制器从服务获取新数据时,它会更新$scope中的模型,并重新呈现模板。到目前为止,一切都很好。
问题是,在模板重新呈现并在DOM中(在本例中为jQuery插件)之后,我还需要做一些额外的工作。
似乎应该有一个事件可以听,比如AfterRender,但我找不到这样的东西。也许指令会是一条路,但它似乎也太早了。
这是一个jsFiddle概述了我的问题:Fiddle-AngularIssue
== 更新 ==
根据有用的注释,我相应地切换到指令来处理DOM操作,并在指令中实现了模型$watch。但是,我仍然遇到相同的基本问题;在编译模板并将其插入 DOM 之前,$watch事件内部的代码将触发,因此,jquery 插件始终在计算空表。
有趣的是,如果我删除异步调用,整个事情都可以正常工作,所以这是朝着正确方向迈出的一步。
以下是我更新的小提琴,以反映这些变化:http://jsfiddle.net/uNREn/12/