Попытка с BehaviorSubject и 2 компонентами. Но не удается настроить получение данных от подписки.
Компоненты A
name:string = 'Test';
constructor( private data: DataService) { }
ngOnInit() {
this.data.currentMessage.subscribe(val => this.name = val);
}
Компонент B (с текстовым полем)
name:string = 'Test';
frm:FormGroup;
constructor(private fb: FormBuilder, private data: DataService) { }
ngOnInit() {
this.setup();
this.data.currentMessage.subscribe(val => this.name = val);
}
setup(){
this.frm = this.fb.group({
name:['']
});
}
setData(){
this.data.changeMessage(this.frm.get('name').value);
}
при отправке формы вызывается функция setData ().
Служба данных
private messageSource = new BehaviorSubject('default message');
currentMessage = this.messageSource.asObservable();
constructor() { }
changeMessage(message: string) {
this.messageSource.next(message)
}
На нагрузке:
При отправке формы:
Значение изменяется в компоненте B, но не в A. Что плохого в A, что оно не меняется? Пожалуйста, помогите.