在加载状态之前,我需要在angular js中为每个状态添加角色
Before loading state i need add role for each state in angular js?
在下面的例子中,我在data
内部有一个名为roles
的变量,对于这个变量,我必须添加角色数组。现在,我在第二种状态下已经预定义了角色,但这个角色数组必须从webapi中加载。
.config(['$stateProvider', '$urlRouterProvider', function ($stateProvider, $urlRouterProvider) {
$urlRouterProvider.otherwise('signin');
$stateProvider.state('site', {
'abstract': true,
resolve: {
authorize: ['authorization', function (authorization) {
alert(JSON.stringify(authorization))
return authorization.authorize();
}, ]
}
})
.state('signin', {
parent: 'site',
data: {
roles: []
},
url: '/signin',
views: {
'': { templateUrl: '/signin.html' },
'content@': {
templateUrl: '/index.html',
controller: 'SigninCtrl'
}
}
})
.state('WorkArea', {
parent: 'site',
url: '/WorkArea',
data: {
roles: ['User', 'Dev']
},
views: {
'': { templateUrl: '/Views/WorkArea/WorkArea.html' },
'ContentOne@': {
templateUrl: '/Views/WorkArea/ProjectList.html',
controller: 'ProjectController'
}
}
})
}]);
我指的是下面链接中的这个例子:-
angular ui路由器登录身份验证
以这种方式定义它:
.state('WorkArea', {
parent: 'site',
url: '/WorkArea',
data: {
roles: (function() {
return ['User', 'Dev'];
})()
},
})
在这种情况下,可以使用IIFE向数据属性动态添加属性。
在你的app.run中使用:
$rootScope.$on('$stateChangeStart', function(event, toState){
var roles = toState.data.roles ;
console.log(roles);
// your custom logic here for that state
})
相关文章:
- 事件和状态
- 获取选择框的状态
- 相位器状态未捕获参考错误
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何使用密码检测网络中的状态连接
- Ember.js-接口状态应该存储在哪里
- 混合 ui-sref 和 $state.go 在 Angular ui-router 中进行状态转换
- 在Angular 2中布线期间保持零部件处于活动状态
- 在mvc应用程序中,在回发时保留最初隐藏的文本框的隐藏或可见状态
- XMLHttpRequest未返回值-状态202
- 使用javascript反复检查用户在facebook上的登录状态
- 如何使bxslider仅在移动视图中处于活动状态
- 获取ASP.NET Ajax Timer状态
- React redux初始化功能,无论状态变化如何
- 无法在现有状态转换期间更新-未使用任何非法的setState()
- 悬停下拉菜单即使在鼠标移出后也保持活动状态
- 从组件状态的数组中删除元素
- 逃脱了单一角色的介绍人,而不是实际角色
- iOS 中的按钮触摸状态
- 在加载状态之前,我需要在angular js中为每个状态添加角色