0
我對某些路由(例如'/ profile')使用了login-guard。看起來是這樣的:Angular2路由器可以註銷後激活
canActivate() {
if (this.user.islogin) return true;
this.router.navigate(['']);
}
它重定向用戶到主網頁,如果他沒有登錄並試圖訪問某些路線。它工作正常。 用戶可以從任何頁面註銷。我希望我的應用程序具有下一個行爲: 如果用戶在'/ profile'頁面上並單擊'註銷',他應該通過canActivate()方法重定向到主頁面。但是這種方法在這種情況下不會被調用。我應該怎麼做才能運行canActivate()(重載頁面,手動調用)? 我註銷方法:
logout() {
localStorage.removeItem('auth_token');
this.islogin = false;
}
我試圖添加this.router.navigate([this.router.url]);
註銷的方法,但結果是一樣的。 只有當我重新加載頁面,angular2重定向我。 什麼是正確的方法?
問題的是,如果你登出不需要後衛的路線上,它的將要運行,這是錯誤的 –