我已经读了很多关于这个话题的帖子,但似乎没有一个对我有效。我做错了什么吗?
我使用的路由器有很多这样的状态:
$stateProvider.
state('login', {
url: '/login',
templateUrl: 'view/login.html',
controller: 'loginController',
resolve: {
'Session': function (accountService) {
return accountService.pullSession;
}
}
}).“pull”都是这样的。
pullSession: $http.get('api/session').success(function (data) {
classes = data;
}),问题是,每次我登录/注销并更改状态时,不会再次拉取会话,并且不会再次拉取已经拉取的其他依赖于会话的资源。
所以我尝试了几乎每一种重载的方式:真的
$state.go('newstate', {reload:true});
and <a ui-sref="home" ui-sref-opts="{reload: true}">Home</a>但似乎什么都不起作用。现在我要做的是
$window.location.reload() 这确实会强制所有页面重新加载,但效率不是很高。
那么,你能看到我做错了什么吗?我应该做些什么?
谢谢。
发布于 2015-08-18 08:15:18
你需要在pullSession中从你的$http返回一些东西。
pullSession: $http.get('api/session').success(function (data) { classes = data; return classes; }),
https://stackoverflow.com/questions/32060829
复制相似问题