AngularJS:使用Angular路由时的指令计时问题

时间:2014-11-24 13:37:27

标签: angularjs directive angular-routing

我的应用程序使用两个AngularJS指令:一个包含多个子指令实例的父指令。子指令对HTML的呈现取决于与父指令关联的包含元素的宽度,因此子指令必须查询父指令(通过调用其控制器上的方法)才能发现此宽度。

此实现在静态页面中使用时可以正常工作,但在使用Angular的路由机制的单​​页面应用程序中使用时会中断。

具体来说,在路由处于活动状态时,第一次加载页面时,HTML会正确呈现,但是当页面内容更新以反映不同的模型数据时,呈现会中断。仅当包含元素的宽度为100%时才会发生这种情况。如果它设置为固定宽度,则一切都按预期工作。

调试问题向我展示了包含父元素的宽度在呈现子指令时无效,所以我假设我正在以错误的顺序执行操作或未能遵循Angular的某些方面处理这种时间问题的做法。

我的指令是否需要在渲染之前等待?

先谢谢。 添

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你就有很少的子指令,它们对父指令有宽度依赖性。有些事件你可以尝试,例如$ broadcast,其中父指令向其子节点发送通知。一旦你收到它,那么你可以使用$ on事件,并且你的子指令。 我知道我的回答并不是很有建设性但是如果你已经建立了这样的依赖,那就是。