我在AngularJS中使用ui-router,如下所示:
.state
('browse.category', {
url: "/:category",
templateUrl: "views/browseCategory.html",
controller: function($stateParams, $scope) {
$scope.params = $stateParams;
}
})
如何将$stateParams
变量设为全局,以便可以在任何视图/控制器中访问它?
现在我只能访问嵌套视图中的参数。
答案 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 - 角度中的全局变量。