【发布时间】:2018-06-20 21:35:41
【问题描述】:
模板
<pre *ngIf="isAdmin()">{{email|json}} - {{user|json}}</pre>
组件
isAdmin() {
console.log('isAdmin: ', this.bcAuthService.isAdmin());
return this.bcAuthService.isAdmin();
}
服务
isAdmin() {
return this.admins.includes(localStorage.getItem("email"));
}
问题
组件中的函数不断打印几次。为什么?这是错的吗?有什么更好的方法?
【问题讨论】:
-
模板方法几乎总是会被多次调用。
*ngFor也是如此,它被迭代多次。如果你有执行昂贵调用的东西,那么你应该缓存结果并在方法中返回,或者使用 ngOnInit 来检索/计算值并将它们设置在你的组件中。
标签: angular