Angular ngOnChanges не вызывается - PullRequest
       25

Angular ngOnChanges не вызывается

0 голосов
/ 25 сентября 2018

Angular не вызывает обнаружение изменений при изменении свойства Input.Я читал, что angular не вызывает onChanges, если нет изменений в привязках, но в этом примере я связал входные данные с моделью ng datePicker, но все равно ngOnChanges не вызывается.

Ниже прикреплен stackBlitzпример: https://stackblitz.com/edit/angular-zvpice

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

Он не вызывается, потому что сам дочерний компонент меняет свое внутреннее свойство.Он вызывается, когда какой-либо родительский компонент, который на самом деле привязан к этому свойству ввода, изменит этот ввод.

Я отредактировал демо-версию и переместил кнопку и ее обработчик нажатия в родительский компонент.Теперь, когда вы нажимаете и изменяете привязку, вызывается обратный вызов onChanges.

0 голосов
/ 25 сентября 2018

Если вы измените его в родительском компоненте, тогда ngOnChanges будет вызван в дочернем.

Проверьте это, добавьте ngOnInit следующим образом в parent.ts, оставьте остальной код следующим:

ngOnInit() {
  setTimeout(() => {
    this.minDate = {year: 2019, month: 4, day: 4};
  }, 3000)
}

или посмотрите этот блиц https://stackblitz.com/edit/angular-zvpice-slhbxd

Изменение minDate у ребенка не вызовет ngOnChanges

...