Angular4:从打印组件上的组件获取选定的表数据

时间:2019-04-22 17:46:49

标签: angular

我试图按服务将数据从表组件传递到打印组件,但是我无法按以下方式访问打印组件中的共享数据。

数据如下:

[{barCode: "31568308949"
checked: true
index: 0
itemDesc: "ASHTON-250"
permPrice: 19.99
posId: "31568308949"
profit: "4"
sellPrice: "20"
sku: "77610"
state: "HR"
store: "8501"}]

在使用中,将主题设置如下。

printedData是数据。

private testDataToPrintDoc = new Subject<any>();

getTestDataToPrint(printedData) {
this.testDataToPrintDoc.next(printedData);
}

setTestDataToPrint(): Observable<any> {
return this.testDataToPrintDoc.asObservable();
}

在打印组件中订阅数据。

this.loglistingService.setTestDataToPrint().subscribe(data => {
  console.log("in the print document", data);
});

请告诉我如何共享数据。预先感谢。

1 个答案:

答案 0 :(得分:1)

我刚刚将Subject更改为BehaviourSubject,并且在首次订阅时获得了最新的价值。该主题的语义是表示随时间变化的值。

我更改过的东西

在LogListingService中:

  private testDataToPrintDoc = new BehaviorSubject<any>(null);
  setTestDataToPrint(): Observable<any> {
    return this.testDataToPrintDoc;
  }

在这里,我为您提供一个示例https://stackblitz.com/edit/angular-ahwwhp

希望它对您有帮助。