首页 > 解决方案 > Angular RxJS combineLatest在元素值更改时不订阅被触发

问题描述

我正在尝试在我的代码中使用 combineLatest。这是代码:

this.selectedIcon$ = this.iconForm.get('selectedIcon').valueChanges
   .pipe(takeUntil(this.unsubscribe$))
   .pipe(startWith(''))
   .pipe(tap((value) => { 
    //This not being called / set, every time the values changes.
    this.searchIcon = value;
    }));
 
   this.selectedColour$ = this.iconForm.get('selectedColour').valueChanges
   .pipe(takeUntil(this.unsubscribe$))
   .pipe(startWith(''))
   .pipe(tap((value) => { 
       this.selectedColour = value; 
    }));
 
   let data$ = this.menuNavigationProvider.iconCssData
    .pipe(takeUntil(this.unsubscribe$));
 
 combineLatest([data$, this.selectedIcon$]).subscribe(([data, icon]) => {
     console.log(data+ ' - ' + icon);
 });

当“selectedIcon”值更改时,订阅不起作用。谁能纠正我在这里做错了什么?在上面的代码中,我希望this.searchIcon = value每次值更改时都设置。

谢谢

标签: angular11rxjs-observablescombinelatest

解决方案


推荐阅读