我的Angular 7应用程序中包含以下代码:
在子组件中:
@Input() lstBlocks;
在父组件中,我为此传递了一个列表:
<block-container [lstBlocks]="lstBlockDtos"></block-container>
lstBlockDtos
是一个包含数组的数组。例如索引为0、1、2等的数组...
在父容器中,我替换了嵌套数组之一的内容:
const dtosIndex = this.lstBlockDtos.findIndex(bDto => bDto.planDate === planDateFormatted);
this.lstBlockDtos[dtosIndex] = mblockDtos;
...其中mblockDtos
是具有更多内容的新数组。
我的问题是,当我更改内部数组的内容时,更改检测对子项无效。我已经实现了OnChanges
生命周期方法,但未按预期触发。我还尝试在更改内部数组的内容后立即调用ChangeDetectorRef.DetectChanges
,但更改检测仍然无法正常工作。