1

我想创建一个应该返回当前状态名称的工厂,我在控制器中尝试了这段代码:

$rootScope.$on('$stateChangeStart', function (e, toState, toParams, fromState, fromParams) {
     $rootScope.tabName  = fromState.name;          
 });

但是只有在调用特定控制器时才能使用此信息,我希望在整个项目中都可以使用此信息。

4

1 回答 1

0

你可以用其他方式来做。

angular.module('app')
.run(['$state', '$cookies', '$rootScope', function($state, $cookies, $rootScope) {
    $rootScope.$on('$stateChangeStart', function(e, toState, toParams, fromState, fromParams) {

        $rootScope.tabName  = fromState.name;       
    });
});

与其放在控制器中,不如在模块的 run 方法中使用它,该方法将在应用程序初始化时调用。

于 2016-10-17T07:01:25.813 回答