<pre *ngIf="isAdmin()">{{email|json}} - {{user|json}}</pre>
Run Code Online (Sandbox Code Playgroud)
isAdmin() {
console.log('isAdmin: ', this.bcAuthService.isAdmin());
return this.bcAuthService.isAdmin();
}
Run Code Online (Sandbox Code Playgroud)
isAdmin() {
return this.admins.includes(localStorage.getItem("email"));
}
Run Code Online (Sandbox Code Playgroud)
组件中的函数会多次打印。为什么?这是错误的吗?什么是更好的方法?
模板方法几乎总是被多次调用。*ngFor重复多次也是如此。如果您有执行昂贵调用的内容,那么您应该缓存结果并在方法中返回该结果或使用 ngOnInit 来检索/计算值并将它们设置在您的组件中。
<pre *ngIf="isAdmin">{{email|json}} - {{user|json}}</pre>
Run Code Online (Sandbox Code Playgroud)
export class MyComponent implements OnInit {
isAdmin: boolean;
ngOnInit() {
this.isAdmin = this.bcAuthService.isAdmin();
console.log('isAdmin: ', this.isAdmin);
}
}
Run Code Online (Sandbox Code Playgroud)
发现这个为什么在使用函数时总是执行 Angular 2 中的 *ngIf ?
我解决了这个问题
ngOnInit() {
this.is_admin();
}
is_admin() {
this.isAdmin = this.bcAuthService.isAdmin();
}
Run Code Online (Sandbox Code Playgroud)
<pre *ngIf="isAdmin">{{email|json}} - {{user|json}}</pre>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3900 次 |
| 最近记录: |