我的意思是:
// my.component.ts
// ...
public isVisible() {
myObject.nested.prop > 27 && otherObj.foo === 'lala'
}
然后在模板中:
// my.component.html
<div *ngIf="isVisible()">
<p>Hi!</p>
</div>
该函数不会做任何疯狂的事情,因此运行起来很便宜,但我希望它是一个函数而不是一个变量,以便在它检查的值发生变化时更新布尔值。如果我不使用函数而是使用变量(作为布尔值或作为BehaviorSubject<boolean>),我将得到臭名昭著的ExpressionChangedAfterItHasBeenCheckedError.
我尝试在浏览器中运行分析器,并在运行时将函数记录到控制台,虽然它连续运行多次,但似乎没有太大影响。
这是不好的做法吗?与使用变量相比,它对性能有影响吗?