2017-08-19 56 views
0

我可以创建JWT localStorage.setItem。角4智威汤逊的localStorage明确

但尝试了不同的方式来清除它,但它不工作。

import { Router } from '@angular/router'; 
import { Component, OnInit } from '@angular/core'; 
import { AuthService } from '../auth.service'; 

@Component({ 
    selector: 'app-header', 
    templateUrl: './header.component.html', 
    styleUrls: ['./header.component.css'] 
}) 
export class HeaderComponent implements OnInit { 
    [x: string]: any; 

    isLoggedIn: boolean = false; 

    constructor(private router: Router, private authService: AuthService) { } 

    ngOnInit() { 
    } 

    logout() { 
    //localStorage.clear(); 
    //localStorage.reset(); 
    this.localStorage.removeItem('currentUser'); 
    this.router.navigate(['/']); 
    } 

} 

logout.component.html

<li> 
       <a href="#"> 
       <i class="icon-lock"></i> Lock Screen </a> 
       </li> 
       <li> 
       <a ng-click="logout()" href="">Log Out</a> 
       </li> 
      </ul> 

这里是截图

enter image description here

请帮助。

+0

不明白为什么倒投票没有任何评论! – Tanvir

+1

应该this.localStorage.removeItem(....,通过猜测它的注入服务 – Vega

+0

感谢维加是,this.localStorage.removeItem(“currentUser”);是显示错误的localStorage – Tanvir

回答

1

在你的代码的主要错误是混淆角的(click)事件与AngularJS ng-click

所以它应该是:

<a (click)="logout()" href="">Log Out</a> 

你被事实,即它是rounting为 “/” 的误导。这是由于存在href标记,无论如何,它都会将您路由到“/”。

而且你可以保持

localStorage.removeItem('currentUser'); 
+0

感谢维加也感到感激你 – Tanvir

+0

无编码器掉队;) – Vega

+0

是总会有人喜欢你:)。对于错别字也有些遗憾。 – Tanvir