检测变量的变化并引发事件

时间:2018-04-23 12:58:34

标签: angular events

我有一个'刷新数据'激活此功能的按钮:

  refreshBatchData(){

    this.homeService.refreshData().subscribe(data => {
      this.batchSpotData = data;   
    })


  }

我想在batchSpotData接收数据时引发一个事件,然后激活另一个函数:

getProblematicBatchData() {
    this.homeService.getProblematicBatchData().subscribe(bdata => {
      this.badDataFromBatchService = bdata;
      this.batchSource.data = this.badDataFromBatchService;

    })

  }

两个函数都在同一个组件中。 我试图定义批处理数据'使用@Input()属性,然后使用ngOnChanges,并从其中调用第二个函数,但没有成功。 我是棱角分明的新人,所以请除了我。

想知道执行此操作的最有效方法是什么,非常感谢!

1 个答案:

答案 0 :(得分:1)

要处理异步操作,您可以使用rxjs函数。如果同时需要databdata,您可以使用combineLatest

combineLatest(this.homeService.refreshData(), 
              this.homeService.getProblematicBatchData())
.subscribe(([data, bdata]) => {
   this.batchSpotData = data;
   this.badDataFromBatchService = bdata;
   this.batchSource.data = this.badDataFromBatchService;
})