如何使用服务在两个组件之间共享对象数据(rxjs主题)

时间:2017-11-30 12:20:57

标签: angular

请给我一个解决方案。我想使用服务传递自定义对象。

private  messageSource = new Subject<Add>();
changeMessage(message:Add) {
    console.log(message);
    this.messageSource.next(message)
    console.log(this.messageSource);
    //console.log(this.currentMessage);
}
getMessage():Observable<Add>{
    return this.messageSource.asObservable();
}

class Add {
    success:boolean;
    status:string;
    id:string;
    imgArray:string[];
}

1 个答案:

答案 0 :(得分:0)

您可以在服务中创建主题

messageSource: Subject<string>;

并在构造函数中实例化

this.messageSource = new Subject<string>();
您可以在组件中

执行此操作,

this.yourService.messageSource.next('whatvermessage');

如果你想订阅它,你可以做

this.yourService.messageSource.asObservable().subscribe((value: string) => {

});