ui-router中的全局参数

时间:2015-11-10 21:25:48

标签: javascript angularjs angularjs-scope angular-ui-router

我在AngularJS中使用ui-router,如下所示:

.state
('browse.category', {
      url: "/:category",
      templateUrl: "views/browseCategory.html",
      controller: function($stateParams, $scope) {
        $scope.params = $stateParams;
      }
    })

如何将$stateParams变量设为全局,以便可以在任何视图/控制器中访问它?

现在我只能访问嵌套视图中的参数。

2 个答案:

答案 0 :(得分:2)

a working example,使用此表示法:

.run(['$rootScope', '$state', '$stateParams',
  function ($rootScope, $state, $stateParams) {
    $rootScope.$state = $state;
    $rootScope.$stateParams = $stateParams;
}])

这使它可以在任何地方使用:

<div >
  <h3>current state name: <var>{{$state.current.name}}</var></h3>


  <h5>params</h5>
  <pre>{{$stateParams | json}}</pre>
  <h5>state</h5>
  <pre>{{$state.current | json}}</pre>

</div>

检查行动here

答案 1 :(得分:1)

$ rootScope - 角度中的全局变量。