Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
847 views
in Technique[技术] by (71.8m points)

angular - how to shared object data between two component using service(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[];
}
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

You can create a subject inside your service

messageSource: Subject<string>;

and instantiate inside your constructor

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

in your component you can do this,

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

and if you want to subscribe to it, you can do

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

});

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...