Задать вопрос
@mkrichet

Angular 7: Как подписать на изменение переменной в сервисе?

Доброе время суток!

Изучаю Angular(7), подскажите как правильно подписать на изменение переменной.

сервис MyService
- переменная str
компонент 1
- constructor(public myService: MyService) { }
- ngOnInit() { myService.str = '222' }
компонент 2
- constructor(public myService: MyService) { }
- в шаблоне изменения {{ myService.str }} происходят

Как в компонент 2 подписаться на изменения myService.str(чтобы можно было вызвать функцию по изменению str)?
  • Вопрос задан
  • 1999 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Javascript.ru
    Курс по Angular
    6 недель
    Далее
  • Skillfactory
    Профессия Frontend-разработчик PRO
    14 месяцев
    Далее
  • Компьютерная академия «TOP»
    Frontend разработка
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 2
Xuxicheta
@Xuxicheta Куратор тега Angular
инженер
Комментировать
@p1plop
Для этого вам необходимо использовать RxJs и объявить переменную на которую вы хотите подписаться как Subject
Тогда в первом компоненте вы сможете отправить значение, используя метод next()
ngOnInit() { myService.str.next('222') }
И подписаться на изменения во втором компоненте
constructor(public myService: MyService) {
 myService.str.subscribe(value => {this.someLocalProperty = value })
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы