Javascript 标识符';authService';指组件的私有成员
我真的不知道还有什么问题 服务代码:Javascript 标识符';authService';指组件的私有成员,javascript,html,angular,angular2-jwt,Javascript,Html,Angular,Angular2 Jwt,我真的不知道还有什么问题 服务代码: import { Injectable } from '@angular/core'; @Injectable() export class AuthService { logout() { localStorage.removeItem('token'); } } 部件代码: import { AuthService } from './../services/auth.service'; export class HomeCompo
import { Injectable } from '@angular/core';
@Injectable()
export class AuthService {
logout() {
localStorage.removeItem('token');
}
}
部件代码:
import { AuthService } from './../services/auth.service';
export class HomeComponent {
constructor(private authService: AuthService) {}
}
在HTML代码的末尾:
<h1>
Home Page
</h1>
<p *ngIf="authService.isLoggedIn">
Welcome {{ authService.currentUser.name }}
</p>
<ul>
<li *ngIf="authService.isLoggedIn() && authService.currentUser.admin">
<a routerLink="/admin">Admin</a>
</li>
<li *ngIf="authService.isLoggedIn()">
<a routerLink="/login">Login</a>
</li>
<li *ngIf="authService.isLoggedIn()" (click)="authService.logout()">
<a>Logout</a>
</li>
</ul>
主页
欢迎{{authService.currentUser.name}}
-
管理
-
登录
-
注销
我对HTML代码的问题是
authService
。感谢阅读。在html模板中使用的类中定义的所有属性都应该是公共的。您已经将authService定义为private,它对此表示不满
为了解决此问题,您必须将其公开:
constructor(public authService: AuthService) { }