В сервисе вам нужно сделать .next
на BehaviorSubject
, т.е. BehaviorSubject
, когда вызывается метод changeValues
.
Пожалуйста, используйте код ниже
В ShareService
changeValues(value: string) {
this.selectedValue.next(value);
}
Лучший способ справиться с этим - вернуть Observable
, на который мы можем подписаться, чтобы получить значения.
@Injectable()
export class ShareService{
selectedValue = new BehaviorSubject<string>("");
getSelectedValue$() {
return this.selectedValue.asObservable();
}
changeValues(value: string) {
this.selectedValue.next(value);
}
}
Где бы нам ни понадобился SelectedValue
, мы вводим эти Service
и subscribe
в Observable
, возвращенный из getSelectedValue$
метода.
В Task
компонент
export class TaskComponent implements OnInit {
constructor(
public ShareService: ShareService) {
}
ngOnInit(): void {
this.ShareService.getSelectedValue$().subscribe((selectedValue)=> {
// use selectedValue here
})
}
}