2017-09-04 53 views
0

我的頭是登錄頁面和儀表板頁面如何隱藏登錄From頭組件(登錄後)鏈接常見,並顯示在角2如何隱藏登錄頁眉組件的鏈接(登錄後)角2?

+0

你嘗試過什麼? –

+0

@RahulSingh我試圖用* ngif作爲登錄鏈接,並在登錄條件爲true後通過調用函數來更改值。通過該值更改爲false,但鏈接未隱藏... :( –

回答

1

當您登錄時創建一個cookie,本地存儲或會話存儲。遵守前面參考下面我

 this.services.checkUserDetails(this.userInfo.userId, this.userInfo.password).subscribe(
      data => { 
       if (data.status === true) { 
        localStorage.setItem('X-Auth-Token', data.data.token); //stored data in browser 
        console.log(data); 
        localStorage.setItem("userId", "1"); //stored data in browser 
} 
       else { 
        this.errorMessage = data.errorMessage; 
        this.utils.stopLoading(); 
       } 
      }, 
      error => { 
       this.errorMessage = error.errorMessage; 
       this.utils.toast("error", error); 
       this.utils.stopLoading(); 
      }); 

我的頭組件的代碼,我用這樣的

ngOnInit(): void { 
if (localStorage.getItem('X-Auth-Token') == null) { 
    this.router.navigate(['/login']); 
} 
else { 
    this.id = localStorage.getItem("userId");  //**Retried data** 
    this.name = localStorage.getItem("userName"); 
} 

}

+0

Thanks!@ shanmugapriya它的工作,但刷新後只有條件是檢查是否有機會檢查條件,而無需刷新頁面?? –

+0

凡你想要你可以使用這一行 if(localStorage.getItem('X-Auth-Token')= = null){ this.router.navigate(['/ login']); } else { this.id = localStorage.getItem(「userId」); // **重試數據** this.name = localStorage.getItem(「userName」); } –

+0

這是好的,但我使用此代碼來隱藏和sh在這種情況下頁眉的標誌鏈接不被刷新 –

1

用戶配置文件下拉列表創建包含用戶對象的全局服務

@Injectable() 
export class AuthService { 
    let user; 

    setUser(user) { this.user = user } 
    isLoggedIn() { return this.user } 
}