我正在使用angular-permission并尝试根据用户的角色重定向用户。
我正在尝试制作类似的东西,但是我无法在app.config中注入rootScope来获取用户:
redirectTo: function(){
if($rootScope.isAdmin){
}
else{
}
return 'login';
}
这里是app.js文件中的配置部分
.config(['$stateProvider', '$locationProvider', '$datepickerProvider', '$timepickerProvider', 'RestangularProvider', '$httpProvider', '$scrollspyProvider', function ($stateProvider, $locationProvider, $datepickerProvider, $timepickerProvider, Restangular, $httpProvider, $scrollspyProvider) {
$stateProvider
.state('test', {
url: '/test',
templateUrl: "/test.html",
data: {
title: 'test',
pageTitle: 'test',
access: 'authenticated',
permissions: {
only: ['admin'],
redirectTo: function(){
//////////////////////////////////
}
}
}
})
}])
有不同的方法吗?
答案 0 :(得分:2)
没有看到你的app.config - 我可以告诉你,最好的地方可能在app.run
而不是app.config
。
app.run(['$rootScope', function($rootScope){
// stuff
}]);
以下是确认您无法在.config中使用$ rootScope的来源。只在.run。 https://stackoverflow.com/a/10489658/1543447