Принудительная перерисовка компонента
Есть проблема. При внесении изменений в данные компонент не перерисовывается.
Данные:
[
{
"id": 55,
"name": "Интерфейс",
"type": "section",
"children": [
{
"id": 56,
"parent_id": 55,
"name": "01. Максимальная ширина диалога",
"type": "string",
"value": "600"
},
{
"id": 57,
"parent_id": 55,
"name": "02. Максимальная высота диалога",
"type": "string",
"value": "800"
}
]
},
{
"id": 2,
"name": "Общие настройки приложения",
"type": "section",
"children": [
{
"id": 47,
"parent_id": 2,
"name": "01. Титул в названиии сайта",
"type": "string",
"value": "Академия ДТЭК"
},
{
"id": 52,
"parent_id": 2,
"name": "02. Адрес smtp сервера",
"type": "string",
"value": "smtp.dtek.com"
}
]
}
]
Все это выводится в виде mat-expansion-panel и может редактироваться. Верхний уровень это рубрики, а все что в children, это содержимое expansion-panel. Если редактировать верхний уровень, то изменения отображаются корректно. Но если отредактировать дочерний элемент, то ангуляр не видит изменений и, соответственно, компонент не перерисовывает. Я ставил отлов события ngOnChanges и судя по ним изменений никто не видит. При этом, вывод в консоль говорит о том, что данные изменились. От большой печали после внесения изменений в переменную данных, поставил detectChanges() но это результатов не дало. Как заставить приложение принудительно перерисовать компонент? |
Цитата:
|
markForCheck() тоже пробовал.
На счет stackblitz.com это вы хорошо посоветовали. Надо собраться. :о) Проект большой и эту задачу пока отложил. Ошибка неприятная, но не критичная. Теперь уже наверное до посленовогодних дней. |
| Часовой пояс GMT +3, время: 06:30. |