如何根据布尔值 Observable 编辑我的 observable 值,任何时候该布尔 observable 将被更改,然后$ships
observable 将被转换。
areShipsExpanded$: Observable<boolean>;
ships$: Observable<Ship>;
this.ships$ = this.shipsDataSource.getData().pipe(
map(s => {
if(this.areShipsExpanded$) {
// do something with s
} else {
// do something else with s
}
return s;
})
当然 on view 将被使用 ships$ | async
上面的代码是不正确的,因为 Observable 不会在this.areShipsExpanded$
更改时再次转换。
areShipsExpanded$: Observable<boolean>;
ships$: Observable<Ship>;
this.ships$ = this.shipsDataSource.getData().pipe(
combineLatest(this.areShipsExpanded$),
map(([ships, expanded]) => {
if(expanded) {
// do something with ships
} else {
// do something else with ships
}
return ships;
})
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句