我想做什么
如问题标题中所述,我想检查下一条路线的授权和认证,以便我在路线上制作自定义属性并尝试在$ locationChageStart中访问它们。
我面临的问题是
event
,next
,prev/current
参数是正确的,但自定义属性返回未定义
我的代码
myModule.run(function($rootScope,authService,$state){
$rootScope.$on("$locationChangeStart",function(e,next,prev){
console.log(e+","+next+","+prev); //correct
console.log(next.reqAuthentication); // returning undefined
console.log(prev.reqAuthentication); // returning undefined
});
})
和Config路由类似
.state('profile.company', {
url: "/company",
templateUrl: 'partials/companyprofile.html',
controller: 'adminCtrl',
reqAuthentication:true,
authenticateRole:['a','b',"c"]
})
.state('profile.messages', {
url: "/messages",
templateUrl: 'partials/chat.html',
controller: 'adminCtrl',
reqAuthentication:true,
authenticateRole:['a','b',"b"]
})
注意:我正在使用ui路线,所以我觉得有一些问题我将它与ngRoute混合
答案 0 :(得分:2)
您可以使用:
$rootScope.$on('$stateChangeSuccess',
function(event, toState, toParams, fromState, fromParams){ ... })
如果你想与州合作。
您可以找到更多详细信息https://github.com/angular-ui/ui-router/wiki