Angular2(RxJS)订阅不会在第一次点击时触发

时间:2017-01-03 11:20:21

标签: javascript angular rxjs observer-pattern

我想观察一个组件内部的事件,然后另一个组件发出不同的事件。我在

中声明了服务和此类代码
    private updateIncomingMaterial = new Subject<IncomingMaterial>();

    incomingMaterialUpdate$ = this.updateIncomingMaterial.asObservable();

   updateIncMaterial(incomingMaterialToUpdate: IncomingMaterial) {
       this.updateIncomingMaterial.next(incomingMaterialToUpdate);
   }

我如何在一个组件中触发事件

    update(model: IncomingMaterial) {
    this.incMatService.updateIncMaterial(model);
    this.isEditorVisible = true;
    this.isUpdateMode = true;
}

在这里我想如何在另一个订阅

    ngAfterViewInit() {
    this.subscription = this.incMatService.incomingMaterialUpdate$.subscribe((model: IncomingMaterial) => {
        this.isUpdateMode = true;
        this.imForm.setValue(model);
    });
}

我不知道为什么它在第一次点击更新按钮时从未进入订阅内部(我的意思是这里.UpdateMode = true和this.imForm.setValue(model))。

0 个答案:

没有答案