Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 如何使用服务在两个组件之间共享对象数据(rxjs主题)_Angular - Fatal编程技术网

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

Angular 如何使用服务在两个组件之间共享对象数据(rxjs主题),angular,Angular,请给我一个解决那个问题的办法。我想使用服务传递一个自定义对象 private messageSource = new Subject<Add>(); changeMessage(message:Add) { console.log(message); this.messageSource.next(message) console.log(this.messageSource); //console.log(this.currentMessage);

请给我一个解决那个问题的办法。我想使用服务传递一个自定义对象

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[];
}
private messageSource=新主题();
更改消息(消息:添加){
控制台日志(消息);
this.messageSource.next(消息)
console.log(this.messageSource);
//console.log(此.currentMessage);
}
getMessage():可观察{
返回此.messageSource.asObservable();
}
类添加{
成功:布尔;
状态:字符串;
id:字符串;
imgaray:string[];
}

您可以在服务中创建主题

messageSource: Subject<string>;
如果你想订阅,你可以

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

});

我可以使用Subjecti传递任何对象吗?我将值从我的父文件传递给changeMessage()methode,如下所示。它是到changeMessage()methode的。但是这个.messageSource.next(message)不起作用。我如何与你聊天。不允许评论
this.yourService.messageSource.next('whatvermessage');
this.yourService.messageSource.asObservable().subscribe((value: string) => {

});