在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请求了.
拉丁的传说
相关分类