我已经阅读了很多关于这个主题的帖子,但它们似乎都不适合我。我做错了吗?
我使用的路由器有很多像这样的状态:
$stateProvider.
state('login', {
url: '/login',
templateUrl: 'view/login.html',
controller: 'loginController',
resolve: {
'Session': function (accountService) {
return accountService.pullSession;
}
}
}).
&#39>'拉'都是这样的
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()
会强制所有页面重新加载,但效率不高。
那么,你能看出我做错了什么吗?我该怎么办?
感谢。
答案 0 :(得分:0)
您需要在pullSession中从$ http返回一些内容。
pullSession: $http.get('api/session').success(function (data) {
classes = data;
return classes;
}),