angular11 - 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
每次值更改时都设置。
谢谢
解决方案
推荐阅读
- java - 在 Reactor 中更新对象的状态
- python - 循环一系列字典以转换为 DataFrame
- python - 具有 sqlalchemy 的服务器表的通用数据库函数
- java - 无法在 Android 11 (Wi-Fi Direct) 上使用 WifiP2pManager.setDeviceName
- python - 在python的txt文件中添加两个时间戳的差异的问题
- r - ggplot:如何使用列名作为 x 轴标签和值作为 y 轴
- sql - SQL 将行转换为一列
- r - 百分比堆积条形图中的工具提示
- symfony - 是否可以在 Symfony 5 中同一翻译文件的消息中使用翻译键?
- bash - 为什么没有正确接收通过 ENTRYPOINT 传递给脚本的 args?