首页 > 解决方案 > HeaderComponent.html:313 错误类型错误:_co.logout 不是函数

问题描述

header.component.html

  <a (click)="logout()" class="dropdown-item" ><i class="ft-power mr-2"></i><span>Logout</span></a>

auth.component.ts

    logout() {
        this.authService.logout();
        this.router.navigate(['Login']);
      }

auth.service.ts

     export class AuthService {
        
          private apiRoot = 'http://localhost:8000/auth/';
        
          constructor(private http: HttpClient) { }
        
        
          private setSession(authResuilt){
            const token = authResuilt.token;
            const payload = <JWTPayload>jwtDecode(token)
            const expiresAt = moment.unix(payload.exp);
        
            localStorage.setItem('token',authResuilt.token)
            localStorage.setItem('expires_at',JSON.stringify(expiresAt.valueOf()))
          }
          get token(): string{
            return localStorage.getItem('token')
          }
        
          login(username: string,password:string){
            return this.http.post(
              this.apiRoot.concat('login/'),
              {username,password}
            ).pipe(
              tap(response=> this.setSession(response)),
              shareReplay()
            );
          }
          logout() {
            localStorage.removeItem('token');
            localStorage.removeItem('expires_at');
          }

HeaderComponent.html:313 错误类型错误:_co.Logout 不是函数

有什么帮助为什么会出现这个错误

标签: angular

解决方案


Logout()在文件中html和文件中写入相同的函数拼写ts..

<a (click)="Logout()" class="dropdown-item" ><i class="ft-power mr-2"></i> 
  <span>Logout</span>
</a>

Logout() {
    this.authService.logout();
    this.router.navigate(['Login']);
}

推荐阅读