2017-02-21 19 views
4

このようにAngularでObservable<enum>にバインドされていますか?ngclassを観測可能な値にバインドする方法

<a [ngClass]="{selected: (mapToolBarMode$ | async) === 0 }" /> 

またはmapToolBarMode$は観測変異するように何かをするように見えるdoes notの観測可能

ある

<a [ngClass]="{selected: (mapToolBarMode$ | async) === MapMode.Pan }" /> 

は、私はそれは私がこれを行う場合、それは動作しますが、値はコンストラクタで利用されていないに関係することができると思いますが、私は本当にいけないMapMode列挙型のすべての値のためにそれを行うにしたい:

private mapModes: typeof MapMode = MapMode; 
private isPanSelected = true; 
ngOnInit() { 
    this.mapToolBarMode.subscribe(v => { 
     this.isPanSelected = (v === this.mapModes.Pan); 
    }) 
} 

...

[ngClass]="{selected: isPanSelected }" 

更新 が、これは従来のコードを呼び出す角度成分と関係していたが判明しました。

またはあなたの観測可能ですでにcompleted次のとおりです。これらの呼び出しは、そうでなければ、サイクリング

+0

確かに、それが動作するはず? 'MapMode.Pan'とは何ですか? –

+0

それがうまくいかない場合は、それを 'Oberservable 'に変更し、コンポーネントコードの '.map()'で '==='を実行してみてください。 –

+1

あなたが 'this.mapToolBarMode.subscribe'を行うことができれば、あなたのバインディングはおそらく' '( '$'なし) –

答えて

関連する問題