2016-12-16 63 views
1

我正在處理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 }); 

    } 

我什麼都試過了我在谷歌和#2發現,但仍保持usernav CONTROLER與舊的數據,直到我手動刷新頁面。

+0

什麼特別遺骸數據? – Ladmerc

+0

我有一些ng顯示和隱藏的認證用戶。登錄或註銷後,我使用自動控制器中的$ state.go重定向到主狀態。但是usernav作用域具有以前的數據。 – Tasos

+0

註銷時,您可以清除所有清除usernav中的所有屬性或使usernav爲空對象 – Ladmerc

回答

0

您需要從頭部取出令牌,然後餅乾等等試試這個

$http.defaults.headers.remove = ['Authorization']; 
$cookieStore.remove('globals'); 
相關問題