我的许多指令(很快成为组件)从其他指令设置的变量中获取其范围。目前在每个指令中,我必须观察我的范围,以了解它是否已经改变,这似乎使代码不必要地复杂化。所以我开始在我的标签上使用ng-if =“vm.ready”来在需要时重新实现指令。但是那个国家的管理权被排除在指令之外,而这个指令更难以维持。
我想知道如果指令的范围发生变化,那么angular是否提供了这样的机制,那么它至少会重新实现你的指令控制器。
由于
答案 0 :(得分:1)
您可以使用$onInit()
在实例化控制器之后,隔离范围绑定的初始值将绑定到控制器属性。一旦初始化了这些绑定,你可以通过提供一个名为$ onInit的控制器方法来访问这些绑定,该方法是在构造了元素上的所有控制器并初始化它们的绑定之后调用的。