Показать сообщение отдельно
  #3 (permalink)  
Старый 15.12.2019, 21:30
Аспирант
Отправить личное сообщение для sniffysko Посмотреть профиль Найти все сообщения от sniffysko
 
Регистрация: 20.10.2009
Сообщений: 79

Сообщение от destus Посмотреть сообщение
sniffysko,
Попробуй в конструкторе заинжектить ChangeDetectorRef сервис и вызвать cd.markForCheck() или cd.detectChanges() между 16 и 17 строчкой.
Код вообще рабочий?
Ваш совет, как я понимаю, предназначен принудительно активировать проверку изменения состояния данных. Я делал так: this.componentData = [...this.componentData].
Моя проблема заключается в том, что this.componentData НЕ обновляется после 6 строки первого блока кода. Т.е. код не работает. Не работает в том плане, что не происходит обновления this.componentData через ссылку на один из узлов в виде переменной oldItem. Т.е. по сути вопрос не имеет отношения к Angular, а больше к базовому JS.
В моем понимании должно было работать так:
1. Строка 3 -- находим ссылку на узел в дереве (oldItem). Работает.
2. Присваиваем новое значение переменной oldItem, и, поскольку она есть ссылка, одновременно обновляется значение уза в дереве componentData. Работает не так как надо: oldItem переприсваивается и получает новое значение, а componentData не обновляется.
Ответить с цитированием