Задать вопрос
  • Как подписаться на переменную RxJS в Angular?

    Xuxicheta
    @Xuxicheta Куратор тега Angular
    инженер
    my.service.ts
    @Injectable({
        providedIn: 'root',
     })
     export class MyService {
      public myVar$ = new Subject();
     }

    comp1.component.html
    <div>{{ myService.myVar$ | async}}</div>
    comp1.component.ts
    export class Comp1Component {
      constructor(
        public myService: MyService
      ) {}
    }

    comp2.component.ts
    export class Comp2Component {
      constructor(
        public myService: MyService
      ) {}
      myFunc(){
      this.myService.myVar$.next(1000);
      }
      
    }


    когда вы сабжекту делаете next вызываются все коллбеки подписчиков данного сабжекта. В том числе AsyncPipe в компоненте comp1. AsyncPipe запускает детектор изменений и выводит в шаблон значение обсервабла myService.myVar$ (любой сабджект является обсерваблом)
    Ответ написан
    2 комментария