angular - Angular ngrx - 和 Rxjs combineLatest 中的 Router.Events 不起作用
问题描述
我遇到了一个我无法解决的问题:
onSelectCompany() {
combineLatest([this.idCompany$, this.idUser$, this.router.events]).subscribe(res => {
if(res[2] instanceOf NavigationEnd){
this.router.navigateByUrl(`get-info/${res[0]/res[1]`)
}
})
}
我在我的组件的 ngOnInit 上调用这个函数,我有两个 observables 我需要像我的 url 的参数,只有当我没有刷新页面时我才需要在这个 url 上导航。但是我写的函数不起作用,我没有错误但是在调试中执行没有进入订阅。为什么?
解决方案
在该函数执行后,所有 3 个 observables 都必须发出一些东西。
来源:https ://www.learnrxjs.io/learn-rxjs/operators/combination/combinelatest
Be aware that combineLatest will not emit an initial value
until each observable emits at least one value.
1 解决方案可能是将函数从ngOnInit
字段级别或构造函数移动
推荐阅读
- bash - 如何在 bash 脚本中创建 cd 的 zip 文件
- python - 通过 Plotly 或其他方式在一张图中绘制多个箱线图(一列是数据列表)
- python - 在代理下点 SSLError WRONG_VERSION_NUMBER
- database - 如何在数据库重建中保持一致的 ID?
- java - 如何在 Java 中编写包含自定义类作为参数的默认构造函数
- shell - 如何将带有扩展变量的文本组合成fish中的变量扩展
- android - Xamarin.Forms.Shell:如何管理 StatusBar 颜色
- python - 如何在python字典中添加相同键的多个值
- mongodb - 在聚合框架mongodb中找到从一个机场到另一个机场的可能航班,最多有一个中间机场停机
- javascript - Javascript:无法访问属性“scrollLeft”