angular - 使用 angular 2 样式绑定(bind)绑定(bind) rgb 颜色值

标签 angular angular2-template

我想将来自后端的 rgb 值(如“200,55,100”)绑定(bind)到 div 的背景颜色。

那是行不通的,它会抛出模板解析异常。

<div [style.background-color]="rgb({{model.color}})"

我该如何正确地做到这一点?

更新

<div [style.background-color]="s.getColor()"> class="md-chip" *ngFor="let s of sums">
    <div class="md-chip-img">
        <span style="text-align:center" class="md-chip-span">X</span>
    </div>
    <span class="md-chip-text">{{s.subjectName}}</span>
</div>

最佳答案

您不能同时使用属性绑定(bind)([] 语法)和插值({{}} 语法)。这样做的原因是 Angular2 在幕后为插值创建了一个属性绑定(bind)(另请参见 Angular2 docs on interpolation)。

我建议尝试以下插值:

<div style.background-color="rgb({{model.color}})">...</div>

或者如果你想使用属性绑定(bind),下面的方法应该有效:

<div [style.background-color]="'rgb(' + model.color + ')'">...</div>

其中 getColorString() 是一种返回 rgb 值的计算字符串的方法:

public getColorString(): string {
  return 'rgb(200, 55, 100)';
}

关于angular - 使用 angular 2 样式绑定(bind)绑定(bind) rgb 颜色值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38414092/

相关文章:

具有多个组件的 Angular 模块加载速度变慢

angular - 在 mat-select 上重新选择相同值时触发事件

angular - 克隆元素无法在 Angular4 中提交

angular - 将事件和变量添加到动态创建的组件 Angular 4

angular - 达特语 : Using enums in Angular2 templates

angular - 当表单模型中的值更新时,如何强制 Angular 2 更改检测?

angular - 如何在 ng-packagr 中只有辅助入口点

javascript - 如何将不可变 js 导入 angular 2 (alpha)?

Angular 2 数据绑定(bind)和 setTimeout

javascript - 在 Protractor 中使用 xml2js