Я использую ag-grid-angular
в своем проекте Angular.Мой компонент app
содержит мою основную модель данных (rowData
) и два подкомпонента grid
и grid-details
.Компонент grid
имеет @Input
для привязки к rowData
и содержит компонент ag-grid-angular
, с которым также связан rowData
.Компонент grid-detail
также имеет @Input
для привязки к модели и имеет форму, в которой можно изменить rowData
.
Я абстрагировал приложение в StackBlitz
Когда я изменяю данные в ag-grid-angular
, я вижу изменения в rowData
в app
и grid-details
, что подразумевает правильно связанные свойства компонентов.Когда я изменяю rowData
в grid-details
, я вижу изменение в app
, но представление данных в ag-grid-angular
не обновляется.При вызове gridApi
для перерисовки строк данные отображаются правильно (это означает, что данные также были правильно связаны, поскольку мне не нужно было повторно устанавливать данные строк в gridApi).
- Если все данные правильно связаны, почему
ag-grid-angular
не обновляется автоматически? - Что такое простой шаблон для вызова
gridApi.redrawRows()
?У меня есть несколько компонентов в моей фактической реализации, и я хотел бы, чтобы какой-то перехват всех onChange
вместо реализации какого-либо @Output
генератора событий для каждого подкомпонента.
Что я пробовал: я пытался реализоватьвызов gridApi.redrawRows()
через Angular OnChanges
, но я понимаю, что OnChanges
ловушка жизненного цикла не вызывается при изменении значения в экземпляре rowData
.Так что в моей ситуации OnChanges
не вызывается при изменении данных в grid-details
.