【问题标题】:broadcast state name Angular js $stateChangeStart广播状态名称Angular js $stateChangeStart
【发布时间】:2016-10-17 06:56:04
【问题描述】:

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

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

但此信息仅在调用特定控制器时可用,我想在整个项目中提供此信息。

【问题讨论】:

    标签: angularjs angular-ui-router angular-factory


    【解决方案1】:

    你可以用其他方式来做。

    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方法中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多