Typ*_*ter 5 data-binding performance angular
我想对绑定到数据成员的性能是否比绑定到函数的性能更好一些?
例如,以下哪个陈述将有更好的表现?
1)
<myComp *ngIf="isThisTrue"></mycomp>
Run Code Online (Sandbox Code Playgroud)
isThisTrue在哪里通过方法设置
checkIfTrue(data){
this.isThisTrue = data;
}
Run Code Online (Sandbox Code Playgroud)
在从可观察对象接收到事件时调用此checkfTrue()的位置。
要么
2)
<mycomp *ngIf="seeIfItHasBecomeTrue()"></mycomp>
Run Code Online (Sandbox Code Playgroud)
seeIfItHasBecomeTrue在哪里检查以查看this.isTrue是否为true。
我显然认为绑定到数据成员应该更快,但是我不确定是否总是会更快?还是有一些灰色区域?另外,如果速度更快,那么多少呢?
如果使用该方法,*ngIf="isThisTrue"则编译器将生成以下updateRenderer函数:
function (_ck, _v) {
var _co = _v.component;
var currVal_1 = _co.isThisTrue; <--- simple member access
_ck(_v, 5, 0, currVal_1);
}
Run Code Online (Sandbox Code Playgroud)
如果使用第二种方法*ngIf="seeIfItHasBecomeTrue()",该函数将如下所示:
function(_ck,_v) {
var _co = _v.component;
var currVal_1 = _co.seeIfItHasBecomeTrue(); <--- function call
_ck(_v,5,0,currVal_1);
}
Run Code Online (Sandbox Code Playgroud)
与简单成员访问相比,函数调用的性能更为沉重。
要了解有关updateRenderer函数的更多信息,请阅读:
| 归档时间: |
|
| 查看次数: |
1204 次 |
| 最近记录: |