1

我维护一个从对象数组生成的表,其中单击一行将给出一个包含该特定行数据的对象。我需要与所有其他组件共享它,无论它是父级、子级或兄弟级因此我使用主题,类似于https://embed.plnkr.co/P8xCEwSKgcOg07pwDrlO/。我面临的问题是,在单击时,我认为事件没有被发出,因此我看不到其他组件中没有任何反映。请让我知道我哪里出错并帮助解决。我的代码如下:

患者列表.component.ts

 getPatientDetail(value)  { //value gets passed on click of row in table
        this.patientService.getPatientDetail(value);
   }

病人服务.ts

         patientdata=new Subject<Object>();
         currentdata=this.patientdata.asObservable();
          getPatientDetail(data:Object){
          console.log(data);
          this.patientdata.next(data);
          }

病人组件.ts

 constructor(private patientService: PatientService) {

   this.patientService.currentdata.subscribe(data=>{
    console.log("am here"); //even this doesn't get reflected
    this.data=data;
    console.log(this.data); //nothing here as well
    })};
4

1 回答 1

1

您需要在 中声明 PatientService 的提供者PatientComponent,而不是在PatientList

于 2017-08-24T10:38:43.070 回答