1
.run(['$rootScope', '$state', 'Session', function ($rootScope, $state, Session) {
$rootScope.$on('$stateChangeStart', function (e, toState) {
console.log('inside .run')
if (toState.url == '/') {
e.preventDefault();
if (Session.user) { // and isAdmin == true
$state.go('admin')
} //if isAdmin == false redirect to chat
else {
$state.go('login')
}
} else if (!Session.user && toState.url != '/login') {
e.preventDefault();
$state.go('login')
}
return;
});
}])
它的值这是我的.RUN模块和我需要初始化一个isAdmin
变量,我可以在我的控制器中更改并检查每个状态更改是否为isAdmin is
,并重定向到admin
或chat
页面。 我试图加入初始化isAdmin
为$rootScope.isAdmin
在.run()
但我可以修复它的价值在控制器.run()
抛出isAdmin
未定义的错误。 任何人都可以提出解决方法吗?我需要.RUN访问一个变量()模块中的角度和需要改变在不同的控制器
在此先感谢
您是否尝试致电服务? –
这对于在每个控制器中获得价值非常有帮助 –
ui-state在控制器加载之前有4个事件,您必须检查该变量是否具有设置的值 –