Angular, почему нам нужно markForCheck, когда DetectChanges также работает - PullRequest
0 голосов
/ 25 апреля 2018

Я читаю эту статью, в которой есть раздел о том, когда использовать 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()?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...