在 Angular 中,我通常使用 ngOnChanges 来检测父组件发生了什么变化。
但是现在,当声明如下时我感到困惑:
@Input() data: Observable<Student>;
在 ngOnChanges 方法中:
ngOnChanges(changes: SimpleChanges): void {
if (changes.data?.currentValue) {
// code here
}
}
在这段代码中,我想将数据(从 API 获取的数据)从父级传递给子级。在 Child 中,我将订阅数据以绑定到布局。
我在这里想要的是,当 Parent 发生任何变化时,Child 应该监听并使用新数据重新绑定到布局。
但是数据是可观察类型,代码'changes.data?.currentValue'可以知道它什么时候发生变化吗?
请指教
ngOnChanges。为了在 Observable 发出新值时触发更改,您需要从父组件订阅 observable 并将发出的值传递给子组件。
这可以按如下方式完成:
父组件模板
子组件
@Input() 数据:学生;