我正在尝试在Route定义中创建一个父状态来处理这样的Autorization:
$stateProvider.state('root', {
abstract: true,
resolve: {
auth: ['Auth',
function (Auth) {
return Auth.authorize()
}
]}
})
这个父状态在我的其他状态中定义如下:
.state('home', {
parent: 'root',
url: '/',
templateUrl: 'views/home.html',
controller: 'HomeCtrl'
})
根据我对父母状态和this帖子的理解,它应该像这样工作。
Auth.authorize
方法工作正常,因为我可以对每个状态做一个简单的解决。这是功能:
function authorize() {
var user = getCurrentUser();
if (user) return $q.when(user);
else {
$timeout(function() {
$state.go('login')
});
return $q.reject();
}
}
响应正常,但页面未显示。我在这里缺少什么?