Angular模板中的getter和调用函数之间的性能差异

时间:2019-03-20 13:41:20

标签: angular

在我的模板中,我想检查是否有一项服务可以启用/禁用按钮。现在我想出了两种选择:

模板:

<button [disabled]="isServiceAvailable()"></button>

TS:

isServiceAvailable(): boolean {
    return true;
}

模板:

<button [disabled]="isServiceAvailable"></button>

TS:

get isServiceAvailable() {
    return true;
}

两者之间是否存在性能差异?我知道第一个被认为是不好的,因为每次更改检测运行时都会调用该函数。第二种选择也是如此吗?吸气剂会每次执行吗,还是一个好的解决方案?

1 个答案:

答案 0 :(得分:0)

使用类似https://stackblitz.com/edit/angular-c4j8dz的简单测试,您会发现在发生事件更改的情况下,get foo(){ return true; }和普通函数foo(){return true;}之间的方法调用没有区别。