我有一个父组件
@Component({
selector: 'mve-trace-multi-filter',
template: `
<child [itemsReady]="itemsReady$ | async"></child>
`
})
export class ParentComponent {
itemsReady$ : Subject<any> = new Subject();
ngOnInit() {
this.store.select('state').subscribe(data => this.itemsReady$.next(data));
}
}
带有onPush的子组件
changeDetection: ChangeDetectionStrategy.OnPush
export class ChildComponent {
@Input() set itemsReady( items ) {
console.log('change', items);
}
}
}
问题是当运行next()
方法时,子组件中没有更改检测。由于异步管道,我要更新子组件。怎么了?
我第一次看到日志为null,但就是这样。