javascript - Angular 2 “ng-style” “*ngFor” 内背景颜色变化

标签 javascript css typescript angular ionic2

我正在尝试使用 ng-style 应用背景颜色。列表的每一行都是使用 ngFor 生成的。每个元素都有单独的背景颜色

<ion-item class="category-list" *ngFor="let item of character['items']">
   <ion-avatar item-left>
  <i class="icon" [ngStyle]="{'background-color': item.bgcolor}"><img src="../img/icons/category/{{item.img}}.png"></i>
  </ion-avatar>
    <h2>{{item.category}}</h2>
  </ion-item>

还有 Typescript.ts:

 var characters = [
  {
    name: 'Gollum',
    quote: 'Sneaky little hobbitses!',
   items: [
      { bgcolor: 'fb9667', img: 'airTicket', category: 'Air tickets' },
      { bgcolor: '000000', img: 'airTicket', category: 'Beauty/Fitness'},
      { bgcolor: '0b9660', img: 'airTicket', category: 'Bike'}
    ]
  },
]

不知道如何将颜色代码应用于列表。

最佳答案

您可以使用 [style.backgroundColor] 更改背景颜色:

<i class="icon" [style.backgroundColor]="item.bgcolor"></i>

当然如果 item.bgcolor 中的字符串是有效的 css 颜色字符串:

#FFFFFF 白色 RGB(255,255,255) rgba(255,255,255,1)

在您的情况下不是..您缺少领先的 # 并且您应该将您的元素列表更改为:

items: [
      { bgcolor: '#fb9667', img: 'airTicket', category: 'Air tickets' },
      { bgcolor: '#000000', img: 'airTicket', category: 'Beauty/Fitness'},
      { bgcolor: '#0b9660', img: 'airTicket', category: 'Bike'}
]

关于javascript - Angular 2 “ng-style” “*ngFor” 内背景颜色变化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38346883/

相关文章:

angular - 没有 OktaAuth 的提供者但 OktaAuth 定义?

javascript - 随着时间的推移,firebase 的存在变得越来越错误

javascript - 在C#中删除一个字符

javascript - 使用 ang js 应用程序的 selenium Protractor 单击类中的特定 ng-click

css - 动态 css 类取决于实体属性的值

javascript - Angular 中输入和跨度之间的文本绑定(bind)

javascript - 如何在执行任何类方法之前注入(inject)条件检查

javascript - 在将 Angular 5.2 升级到 Angular 6、Bootstrap 4、jquery 3.3.1 后,Bootstrap 4 下拉菜单和 Bootstrap-select 下拉菜单不再下拉

jquery - 重置窗口调整大小时函数设置的高度

javascript - 将 css 设置为父子大小