$ locationChangeSuccess和$ stateChangeStart混淆我正在尝试使用AngularUI路由器进行一些身份验证。$urlRouter.sync()看起来正是我所需要的。但是,仅当我拦截时可用$locationChangeSuccess。但是当我这样做时,它$state.current.name是空的,而我希望它是当前状态。到目前为止,这是我的代码:$rootScope.$on('$locationChangeSuccess', function(event, next, nextParams) {
event.preventDefault();
if ($state.current.name === 'login') {
return userService.isAuthenticated().then(function(response) {
var authenticated;
authenticated = response.authenticated;
return alert(authenticated);
});
}});关于我在做什么错的任何指示?
2 回答
哆啦的时光机
TA贡献1779条经验 获得超6个赞
如果我正确理解了您的问题,那么好消息就解决了;)角provider
模型(包括services
和factories
)由单例模式驱动。因此,userService
在我们的示例中,实例化仅被实例化一次,仅调用一次将调用服务器(在此为$timeout
),并且对其进行的任何下一次调用都将返回user
局部变量...这有帮助吗?
- 2 回答
- 0 关注
- 674 浏览
添加回答
举报
0/150
提交
取消