4
是否可以像这样在Angular中绑定Observable<enum>
?如何将ngclass绑定到可观察值
<a [ngClass]="{selected: (mapToolBarMode$ | async) === 0 }" />
或
<a [ngClass]="{selected: (mapToolBarMode$ | async) === MapMode.Pan }" />
其中mapToolBarMode$
是可观察的
它似乎没有做任何事情,因为观察到的变异。
我认为这可能是跟在构造函数不是可用的价值,如果我这样做它的工作原理,但我真的不希望这样做,在MapMode枚举的每个值:
private mapModes: typeof MapMode = MapMode;
private isPanSelected = true;
ngOnInit() {
this.mapToolBarMode.subscribe(v => {
this.isPanSelected = (v === this.mapModes.Pan);
})
}
...
[ngClass]="{selected: isPanSelected }"
更新 原来,这是遗留代码调用角度分量做。这些调用需要的ngZone的环境下运行,否则就没有骑自行车
当然,这应该工作?什么是“MapMode.Pan”? –
如果这不起作用,也许尝试将其更改为'Oberservable'并在组件代码中的'.map()'中执行'==='? –
如果你可以做'this.mapToolBarMode.subscribe',那么你的绑定可能应该是''(不含'$') –