0

使用角度,我有一个网格,用户通过单击复选框来选择数据。我将选择存储在一个数组中。

下面是选择复选框的代码

getCheckedItemList() {
  let selectedData: any[];

 //loop through array of data, find selected and populate selectedData array.

 //Below line sets selected data to the service
  this.myService.setSelectedData(this.selectedData); 

}

以下是服务:

  export class MyService {
  public selectedData = new Subject<any[]>();
  public selectedDataObservable = this.selectedData.asObservable();

  setSelectedData(data: any[]) {    
    this.selectedData.next(data);    
  }
}

上面的代码一切正常。

我遇到的问题是如何从我的服务中获取这些保存的数据。

我试图做类似的事情:

 this.myService.selectedData

但这不起作用。

谁能指出我怎样才能得到数据?

谢谢

4

1 回答 1

1

您可以更改您的服务以使用 BehaviorSubject 作为

 export class MyService {
 public selectedData = new BehaviorSubject<any>();
 public selectedDataObservable = this.selectedData.asObservable();

 setSelectedData(data: any[]) {    
    this.selectedData .next(data);    
  }
}

你可以得到这个值:

this.myService.selectedData.value
于 2019-04-18T18:54:59.267 回答