Является ли привязка к Observable<enum>
возможно подобным образом в Angular?Как привязать 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 }"
Update оказывается, что это было связано с унаследованного кода, призывающих угловых компонентов. эти вызовы должны работать под контекстом ngZone, в противном случае нет велосипедного
Конечно, это должно работать? Что такое «MapMode.Pan»? –
Если это не сработает, возможно, попробуйте изменить его на «Oberservable» и выполните '===' в '.map()' в коде компонента? –
Если вы можете сделать 'this.mapToolBarMode.subscribe', то ваша привязка должна, вероятно, быть' '(без' $ ') –