【发布时间】:2023-03-23 15:32:01
【问题描述】:
我正在使用 Ionic,并希望根据数据动态更改 <ion-list> 中每个项目的背景颜色。我想我会通过函数调用来返回正确的类来做到这一点
<ion-list>
<ion-item ng-repeat="singleCase in allCases" ng-class="getBackgroundColour(singleCase)" class="item-avatar">
<h2>{{singleCase.date}}</h2>
<p>{{singleCase.caseType}}</p>
</ion-item>
</ion-list>
这是目前的控制器
.controller('AllCasesCtrl', ['$scope', '$log', 'dummyData', function($scope, $log, dummyData) {
$scope.allCases = dummyData.cases;
$scope.getBackgroundColour = function(singleCase){
$log.log("getBackgroundColour called...singleCase type: " + singleCase.speciality);
var colourMap = {
speciality1: "speciality1Class",
speciality2: "speciality2Class",
speciality3: "speciality3Class"
};
return colourMap[singleCase.speciality];
};
}])
在检查控制台时,列表中的每个 <ion-item> 都会调用 getBackgroundColour() 函数 7 次。为什么会这样,我应该避免在ng-class 中使用函数调用吗?
【问题讨论】: