我正在尝试使用 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/