有没有办法将函数绑定到特定的州名而不是状态更改事件?
例如,这就是我现在所做的:
$scope.$on('$stateChangeSuccess', function(evt, toState, toParams, fromState, fromParams) {
console.log(toState.name);
});
基本上,我绑定到$stateChangeSuccess
并获取toState.name
来处理特定任务。但我觉得这有点矫枉过正,因为它与一般事件有关。我只想绑定到特定的状态,例如toState.name = "foo"
或类似的东西。
任何指针?
感谢。
答案 0 :(得分:1)
如上所述:State Change Events
所有这些
events
都会在$rootScope
级别触发。
我想说,这就是这种事件系统的优势。它允许我们将某些功能挂钩作为标准的 AOP框架 (无论导航到哪个特定状态)。
将if
或switch
与多个文件/听众组合使用......可以使其清晰可管理。
侧注意:我更喜欢有方面的一个(如果可能的话)文件,使用后缀,例如(ctrl.js,dirc.js,listner.js)来区分那种。