我尝试过使用$rootScope.$on('$routeChangeSuccess', function(event, next){...})
,但有时next.scope
未定义。一旦控制器的$scope
准备就绪,我可以使用一个事件吗?
我有一个服务,我想在加载新路由时执行操作,而我不必在每个控制器的开头添加函数调用。
答案 0 :(得分:1)
据我所知,没有记录的事件,控制器范围在准备就绪时会发出。
但是您可以使用以下代码实现您的目的,但这有点棘手:
$rootScope.$on('$routeChangeSuccess', function(evt, to, params) {
console.log(to.scope); // undefined
$rootScope.$evalAsync(function(){
console.log(to.scope); //it is ready
})
});