绑定变量和绑定模板* ngIf中的方法之间是否有任何区别。
例如:
情况1:
<div *ngIf="myVar">ABC</div>
案例2:
<div *ngIf="myFunction()">ABC</div>
myFunction() : boolean {
if (cond1 && cond2 && cond3) {
return true;
} else {
return false;
}
}
对性能有影响吗?
我正在尝试使用2种情况,获取范围错误:最大调用堆栈超出。
帮我这个?谢谢
就在这里
第一个没有任何性能问题,因为你直接检查一个变量,而第二个将有角度使用变化检测,它会多次触发
当你每次调用一个函数角火时都会改变检测周期。最好使用get属性
<div *ngIf="myvar">ABC</div>
get myvar() : boolean {
if (cond1 && cond2 && cond3) {
return true;
}
return false;
}
你可以做些什么来避免性能问题是你可以创建一个类变量
public myVar = cond1 && cond2 && cond3
然后你可以在第一个选项中使用它并保持代码的可读性