Angular2:RxJS 对象对事件没有反应
Angular2:RxJS Subject not responding to events
我维护了一个 table,它是从对象数组生成的,在其中单击一行会给出一个对象,其中包含与所有其他人共享所需的特定 row.I 的数据components 不管它是parent,child还是sibling所以我使用Subject,类似于https://embed.plnkr.co/P8xCEwSKgcOg07pwDrlO/。我面临的问题是,在单击时,我假设没有发出事件,因此我看不到另一个组件中有任何反映。请让我知道我哪里出错了,帮助 resolving.My 代码如下:
patientlist.component.ts
getPatientDetail(value) { //value gets passed on click of row in table
this.patientService.getPatientDetail(value);
}
patient.service.ts
patientdata=new Subject<Object>();
currentdata=this.patientdata.asObservable();
getPatientDetail(data:Object){
console.log(data);
this.patientdata.next(data);
}
patient.component.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
})};
您需要在 PatientComponent
中声明 PatientService 的提供者,而不是在 PatientList
中
我维护了一个 table,它是从对象数组生成的,在其中单击一行会给出一个对象,其中包含与所有其他人共享所需的特定 row.I 的数据components 不管它是parent,child还是sibling所以我使用Subject,类似于https://embed.plnkr.co/P8xCEwSKgcOg07pwDrlO/。我面临的问题是,在单击时,我假设没有发出事件,因此我看不到另一个组件中有任何反映。请让我知道我哪里出错了,帮助 resolving.My 代码如下:
patientlist.component.ts
getPatientDetail(value) { //value gets passed on click of row in table
this.patientService.getPatientDetail(value);
}
patient.service.ts
patientdata=new Subject<Object>();
currentdata=this.patientdata.asObservable();
getPatientDetail(data:Object){
console.log(data);
this.patientdata.next(data);
}
patient.component.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
})};
您需要在 PatientComponent
中声明 PatientService 的提供者,而不是在 PatientList