在angularjs ui-route 某個state中配置了一個resolve,要求登錄后才能跳轉Login: ['LoginResolve',function(LoginResolve){return LoginResolve.Login;}]這個LoginResolve具體實現如下:class LoginResolve {
login (LoginService, $q) { if (LoginService.isLoggedIn() !== true) {
return LoginService.checkLoggedInStatus()
.catch(_error);
} function _error () { return $q.reject('requireLogin');
}
}
}
LoginResolve.prototype.login.$inject = ['LoginService', '$q'];在 if (LoginService.isLoggedIn() !== true)這個位置斷點發現不會跳進來,不知道怎么回事。我的app是這樣:angular.module('myapp',[uiRoute, common.name, loginRoute.name, personRoute.name])common是這樣:不知道為什么在personRoute的config中的resolve使用ES6的LoginService無法工作,我用LoginTry改寫一下:然后替換LoginService就可以好使一次,第二次就不會發送http請求了.
angularjs ui-route resolve 沒有正常工作
拉風的咖菲貓
2018-10-18 14:11:09