"*ngFor"背景颜色变化中的Angular 2"ng-style"

sri*_*ran 11 javascript css typescript ionic2 angular

我正在尝试使用背景颜色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>
Run Code Online (Sandbox Code Playgroud)

而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'}
    ]
  },
]
Run Code Online (Sandbox Code Playgroud)

不知道如何应用颜色代码列表.

Pie*_*Duc 21

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

<i class="icon" [style.backgroundColor]="item.bgcolor"></i>
Run Code Online (Sandbox Code Playgroud)

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

#FFFFFF white 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'}
]
Run Code Online (Sandbox Code Playgroud)

  • 这就是我所说的.. :) (4认同)