我有一个控制器(比如主控制器),它控制主页面并维护所有事件监听器,如$locationChangeSuccess
等。
我还有一些在partials中引用的控制器,它们使用ng-include
包含在主页面中。这包含一些自定义路由逻辑,允许我决定加载哪个部分。这也相应地改变了网址。
我可以使用$locationChangeSuccess
事件收听位置更改。但是,这并不能保证对应于通过ng-include
加载的部分的控制器已经初始化。
我知道我们可以在$viewContentLoaded
部分控制器上使用$scope
。但是,我必须避免将任何事件侦听器放在主控制器之外。有没有办法实现这一目标?
答案 0 :(得分:0)
你可以像$ scope一样设置一个标志。$ parent.inited = true;作为子控制器的第一行,然后在主控制器$ scope.inited = false;您可以使用手表检查该标志并在完成后调用某些功能,然后在您单击其他子状态后将其设置为false等等。