【问题标题】:how to shared object data between two component using service(rxjs subject )如何使用服务(rxjs 主题)在两个组件之间共享对象数据
【发布时间】:2018-05-14 09:03:20
【问题描述】:

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

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

【问题讨论】:

    标签: angular


    【解决方案1】:

    您可以在服务中创建主题

    messageSource: Subject<string>;
    

    并在你的构造函数中实例化

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

    在您的组件中,您可以这样做,

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

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

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

    【讨论】:

    • 我可以使用 Subject 传递任何对象
    • 我将值从我的父文件传递给 changeMes​​sage() 方法,如下所示。它来到了 changeMes​​sage() 方法。但是 this.messageSource.next(message) 不起作用
    • 不允许和u.cmets聊天怎么办
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-12
    • 2016-05-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多