我注意到使用ngIf或ngFor函数会每秒多次调用该函数。相反,使用字符串,数字或对象时,只有在更改检测开始时才会检查它。
我做错了吗?或者这是预期的行为?我想如果没有任何改变,就没有必要再次检查这个功能。
示例:
组件:
myFunction() {
console.log('I was checked');
return true;
}
模板:
<div *ngIf="myFunction()">hello there!</div>
答案 0 :(得分:0)
这是预期的行为。
Angular每毫秒执行大量检查以检测某些内容是否发生了变化。
答案 1 :(得分:0)
您可以使用ChangeDetectionStrategy
来避免这种情况。我不太确定这一点。
@Component({
// ...
changeDetection: ChangeDetectionStrategy.OnPush
})
export class MyComponent {
// ...
}