如何使用服务在两个组件之间共享对象数据(rxjs subject) [英] how to shared object data between two component using service(rxjs subject )

查看:152
本文介绍了如何使用服务在两个组件之间共享对象数据(rxjs subject)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

请给我解决该问题的方法.我想使用服务传递自定义对象.

Please give me a solution for that question. I want to pass a custom object using service.

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[];
}

推荐答案

您可以在服务内部创建主题

You can create a subject inside your service

messageSource: Subject<string>;

并在构造函数中实例化

this.messageSource = new Subject<string>();

您可以在组件中执行此操作

in your component you can do this,

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

如果您要订阅它,可以

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

});

这篇关于如何使用服务在两个组件之间共享对象数据(rxjs subject)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆