Не знаю, понимаю ли я, но, может быть, что-то вроде этого:
ОТПРАВИТЬ
export class SendComponent implements OnInit {
messages: {message1:string,message2:string};
constructor(private data: DataService) { }
ngOnInit() {
this.data.currentMessages.subscribe(messages => this.messages =
{...this.messages,...message});
}
newMessageCreator() {
this.data.changeMessages({message1:"New value for message 1"});
this.data.changeMessages({message2:"New value for message 2"});
//or
this.data.changeMessages({message1:"New value for message 1", message2:"New
value for message 2"});
}
}
ПОЛУЧИТЬ
export class ReceiveComponent implements OnInit {
messages: {message1:string,message2:string};
constructor(private data: DataService) { }
ngOnInit() {
this.data.currentMessages.subscribe(message => this.messages =
{...this.messages,...messages});
}
}
Служба DATE
export class DataService {
private messagesSource = new BehaviorSubject({message1:'default message
1',message2:'default 2'});
public currentMessages = this.messagesSource.asObservable();
constructor() { }
changeMessages(message: {message1:string,message2:string}) {
this.messagesSource.next(message)
}
}
Это не самое лучшее, но работает, я думаю:)