使用Subject时,角度变化检测不会与onPush一起运行

时间:2017-06-15 07:00:21

标签: javascript angular

我有一个父组件

@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,但就是这样。

0 个答案:

没有答案