Я пытаюсь поделиться данными из одного компонента в другой компонент, например компонент тела, в компонент заголовка, используя службу, но не работает. После того, как я нажму кнопку «Изменить данные заголовка», я хочу изменить данные данных заголовка, такие как идентификатор и имя.
body.component.ts:
change(){
this.details = {
id:"45673",
name:"Micheal"
}
this.data.changeMessage(this.details);
}
common.service.ts:
import { Injectable } from '@angular/core';
import { BehaviorSubject } from 'rxjs/BehaviorSubject';
@Injectable()
export class CommonService {
details={
id:'12345',
name:'Victor'
}
private messageSource = new BehaviorSubject(this.details);
currentMessage = this.messageSource.asObservable();
constructor() { }
changeMessage(message: any) {
this.messageSource.next(message);
}
}
Демо: https://stackblitz.com/edit/angular-ep7tes?file=src%2Fapp%2Fbody%2Fbody.component.ts