angularjs - 使用路由更改视图后,jquery元素不会被渲染

时间:2013-09-19 19:27:25

标签: javascript angularjs angularjs-routing

我的问题是在使用路由更改视图后,我的页面中的jquery组件不会被渲染。我已经定制了ui组件,例如未处理的下拉列表。我看到了这个答案:Angular.js App with routing.. Cannot get jquery ui layout plugin working on 2nd view

但我无法弄清楚如何让它在我的案例中发挥作用。似乎当angular渲染模板时,会处理除angularjs代码以外的任何代码。

非常感谢。

代码:http://plnkr.co/1mwMcsqMxWGTheoQmJ22

1 个答案:

答案 0 :(得分:1)

在您提供的示例中,您实际上并没有在其中加载jQuery代码(jqcode.js)。

然而,正如您在示例的this version中看到的那样,真正的问题是文档就绪事件是在模板加载和呈现之前执行的。这意味着当您尝试操作它时,jQuery代码尝试定位的元素不存在。

你应该真正研究Angular directives,建议你在Angular项目中放置任何DOM操作逻辑:

  

如果必须执行自己的手动DOM操作,请封装   指令中的表示逻辑。

来自Angular documentation for controllers