我想创建一个应该返回当前状态名称的工厂,我在控制器中尝试了这段代码:
$rootScope.$on('$stateChangeStart', function (e, toState, toParams, fromState, fromParams) {
$rootScope.tabName = fromState.name;
});
但是只有在调用特定控制器时才能使用此信息,我希望在整个项目中都可以使用此信息。
我想创建一个应该返回当前状态名称的工厂,我在控制器中尝试了这段代码:
$rootScope.$on('$stateChangeStart', function (e, toState, toParams, fromState, fromParams) {
$rootScope.tabName = fromState.name;
});
但是只有在调用特定控制器时才能使用此信息,我希望在整个项目中都可以使用此信息。
你可以用其他方式来做。
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 方法中使用它,该方法将在应用程序初始化时调用。