Я читаю эту статью, в которой есть раздел о том, когда использовать markForChange()
.
В своем примере он имеет следующий компонент:
@Component({
selector: 'cart-badge',
template: '{{counter}}',
changeDetection: ChangeDetectionStrategy.OnPush
})
export class CartBadgeComponent {
@Input() addItemStream;
counter = 0;
constructor(private cd: ChangeDetectorRef) {}
ngOnInit() {
this.addItemStream.subscribe(() => {
this.counter++;
this.cd.markForCheck();
});
}
}
И он использует метод markForCheck()
для обновления представления.Я не понимаю, почему нам нужно использовать markForCheck()
здесь, когда вызов detectChanges()
также обновляет представление ?
Я прочитал ответ на StackOverflow на вопрос - В чем разница между markForCheck () и detectChanges ()?
Но он не соответствует приведенному выше примеру.Итак, почему бы не позвонить detectChanges()
вместо markForCheck()
?