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個事件,您必須檢查該變量是否具有設置的值 –