Angular ui-router状态名称绑定

时间:2014-01-02 02:14:50

标签: javascript angularjs angular-ui-router

有没有办法将函数绑定到特定的州名而不是状态更改事件?

例如,这就是我现在所做的:

  $scope.$on('$stateChangeSuccess', function(evt, toState, toParams, fromState, fromParams) {
    console.log(toState.name);
  });

基本上,我绑定到$stateChangeSuccess并获取toState.name来处理特定任务。但我觉得这有点矫枉过正,因为它与一般事件有关。我只想绑定到特定的状态,例如toState.name = "foo"或类似的东西。

任何指针?

感谢。

1 个答案:

答案 0 :(得分:1)

如上所述:State Change Events

  

所有这些events都会在$rootScope级别触发。

我想说,这就是这种事件系统的优势。它允许我们将某些功能挂钩作为标准的 AOP框架 (无论导航到哪个特定状态)

ifswitch与多个文件/听众组合使用......可以使其清晰可管理。

侧注意:我更喜欢有方面的一个(如果可能的话)文件,使用后缀,例如(ctrl.js,dirc.js,listner.js)来区分那种。