У оператора безопасной навигации есть недостатки по производительности в Angular 2+
Известно, что сначала 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?.
проверяет в шаблоне.