Угловое изменение с ложного на истинное в ngOnInit - PullRequest
1 голос
/ 18 марта 2019

У меня есть служба, которая имеет массив выбранных идентификаторов. Когда я запускаю компонент, я выполняю проверку на наличие идентификатора этого компонента в массиве. Тем не менее, Angular выдает исключение, что значение было изменено после проверки представления.

Я пытался добавить detectChanges() сразу после this._checked = true, пытался markForCheck(). Кроме того, я попытался переместить оба случая в разные ловушки жизненного цикла, но безуспешно, за исключением того, что он начал работать, хотя выдает ошибку.

1 Ответ

0 голосов
/ 18 марта 2019

Обнаружение угловых изменений похоже на мясорубку, и вы пытаетесь изменить мясо в процессе.Как правило, markForCheck() должно быть достаточно в этом случае.Если вы публикуете свой полный код, мы можем попытаться выяснить, почему он не работает в вашей ситуации.Если все не удается, вы всегда можете сделать:

setTimeout(() => {
  this.youChanges();
  this.changeDetectorRef.markForCheck();
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...