我正在开发一个angularjs应用程序,我有以下问题。我的一个指令是顶部导航栏,其中包含有关用户的详细信息。喜欢登录,注册,注销等。
function UserNavDirective() {
var ddo = {
templateUrl: 'app/views/common/usernav.html',
scope: {
},
controller: UserNavDirectiveController,
controllerAs: 'usernav',
bindToController: true
};
return ddo;
}
UserNavDirectiveController.$inject = ['AuthFactoryService', '$cookieStore'];
function UserNavDirectiveController(AuthFactoryService, $cookieStore) {
var usernav = this;
usernav.loggedIn = AuthFactoryService.checkIfLoggedIn();
usernav.username = $cookieStore.get('username');
usernav.logout = AuthFactoryService.logout();
}
然后我有退出和登录服务。我将发布较小的注销。
authService.logout = function() {
$cookieStore.remove('token');
$state.go('home', {}, { reload: true });
}
我尝试了在Google和Stackoverflow中找到的所有内容,但是在我手动刷新页面之前,它仍然使用旧数据保存usernav控制器。
答案 0 :(得分:0)
您需要从标头中移除令牌,然后删除Cookie,请尝试使用
$http.defaults.headers.remove = ['Authorization'];
$cookieStore.remove('globals');