Как передать объект директиве NgStyle в Angular 2?
Я пытаюсь использовать NgStyle
директива с переменной объекта, например:
@Component({
template: `
<div [ngStyle]="object">
some test text
</div>`
})
export class example {
private object: string = "{background-color: 'white'}";
}
Я также пробовал с object = "background-color: 'red'"
и [ngStyle]="{object}"
, но кажется, что это не работает. Я получаю сообщение об ошибке:
Error: Uncaught (in promise): ошибка, вызванная: не удается найти другой поддерживающий объект " {color: 'white'}'(...) consoleError @ VM1051 zone.js@0.6.21?main=браузер: 346_loop_1 @ VM1051 зона.js@0.6.21?main=браузер: 371drainMicroTaskQueue @ VM1051 зона.js@0.6.21?main=браузер: 375ZoneTask.вызовите зону @ VM1051.js@0.6.21?main=браузер: 297
что я делаю не так?
2 ответов
не пройти string
to [ngStyle]
, передать Object
и это будет работать:
private object: Object = { 'background-color': 'red'};
у меня была аналогичная проблема с ngStyle и исправлена следующим образом:
[ngStyle]="{'top.px':dtPickerTop, 'left.px':dtPickerLeft}"
dtPickerTop & dtPickerLeft устанавливаются в моем компоненте на основе события click.
добавлять .px
сделал свою работу, тогда как без него это не похоже.