<ng-container *ngFor="let child of root.getChildren()">
<ng-container *ngIf hasProperty(child)>
<div>{{getProperty(child)}}</div>
</ng-container>
component{
@input()
root;
hasProperty(node){
console.log("in hasProperty");
return node.getPropertiesMap.has("property");
}
getProperty(node){
console.log("in getProperty");
return node.getPropertiesMap.get("property");
}
}
数据结构:
根 / | \ a b c
2。对于根的每个子代,如果该子代具有属性,则必须打印该子代的属性(这是通过字符串插值完成的)。但是在console.log中,我可以看到hasProperty()和getProperty()方法为每个子对象多次调用两次(由于更改启动)。是否有最佳实践来减少这些不必要的方法调用?还是可以进行这些不必要的通话?
Console Log:
in hasProperty true
in getProperty
in hasProperty true
in getProperty
in hasProperty true
in getProperty
/* method calls because of change initiation*/
in hasProperty true
in getProperty
in hasProperty true
in getProperty
in hasProperty true
in getProperty