定义像
这样的Angular路线时.when('text', {
templateUrl: 'templates/articles/text.html',
controller: 'MyCtrl'
})
并听取路线变化
$scope.$on('$routeChangeSuccess', function(next, current) {
// yadda yadda
});
是否可以在MyCtrl
事件中访问与该路由更改相关联的$routeChangeSuccess
控制器实例?
答案 0 :(得分:1)
我不确定你为什么要这样做,因为一旦路线成功改变,控制器本身就会运行。但是,虽然它可能是多余的,但您可以通过将$routeChangeSuccess
置于实际控制器中来访问控制器。
我猜你无论出于什么原因想要从另一个区域与你的控制器进行交互,我建议通过一个服务来完成它,将它注入你的控制器,以及你挂钩事件的区域。
答案 1 :(得分:0)
而不是$routeChangeSuccess
使用$stateChangeSuccess
。
因为状态转换完成后会激活$stateChangeSuccess
。