众所周知,在初始化绑定之前首先会触发 ngOnChanges。因此,在表达式中添加安全导航运算符是很常见的。
@Component({
changeDetection: ChangeDetectionStrategy.OnPush,
selector: 'some-component',
templateUrl: '<div>{{item?.name}} {{item?.surname}}</div>'
})
export class SomeComponent {
@Input() item: { name: string; surname: string; };
}
但我想这种方法是否对性能有缺点。那么下面的代码会更快吗?
<div *ngIf="item">{{item.name}} {{item.surname}}</div>
item?.
特别是对于模板中有许多检查的组件。