【发布时间】:2019-05-17 18:17:41
【问题描述】:
我正在使用 Observable 实现组件通信,但不知何故我无法通过 observable 订阅 emmited 事件,请在下面找到我的代码
服务代码:
import { Observable, Subject } from 'rxjs';
export class MessageService {
private subject = new Subject<any>();
sendMessage(message: string) {
console.log('sendMesg',message)
this.subject.next({ text: message });
}
clearMessage() {
this.subject.next();
}
getMessage(): Observable<any> {
console.log("in Message");
return this.subject.asObservable();
}
}
组件 1 代码
this.http.postMethod("report/PrintReport", data).subscribe((res: any) => {
if (res.Message == 'Print Successfull') {
this.messageService.sendMessage('Print Successfull');
swal("Print Successfull..!", "", "success");
} else {
this.messageService.sendMessage('Print Failed');
swal("Print Failed", "", "error");
}
}, err => {
this.errorHandling.checkError(err.status);
});
组件 2 代码:
ngOnInit() {
this.messageService.getMessage().subscribe(res =>{
console.log('res', res);
}, err => {
console.log('errrorr', err) })
}
我能够从服务中记录sendMessage 函数,但我无法记录getMessage 函数给出的结果,该函数在component 2 上订阅
【问题讨论】:
标签: angular7