2016-09-17 74 views
0

您好我一直用這個標籤來改變我的CSS樣式,如果條件totalAsset和sortedAsset相同如何使用納克級比較自我調用價值

<div class="table-row" ng-repeat="x in myData" 
ng-model="sort(x.totalAsset)" 
ng-class="{'lightblue': x.totalAsset == sortedAsset}"> 

totalAsset是我的數據在這樣

$scope.myData = [ 
{ 
totalAsset: "23557" 
}, 
{ 
totalAsset: "4512190", 
}, 
{ 
totalAsset: "2190", 
}, 
{ 
totalAsset: "1256790", 
} 
] 

我有創建自的邏輯排序的totalAsset

$scope.sort = function(totalAsset) { 

$scope.unsortedAsset = totalAsset; 
$scope.sortedAsset = $scope.unsortedAsset.split("").sort().join(""); 
console.log(sortedAsset); 
} 

的功能僅在第一和最後一行將變爲藍色,其他兩行保持不變。

但是我的問題在這裏只是最後一個變成了藍色,第一個變成了藍色。

回答

0

我不確定,如果你需要{{}}(它們在ng2 atleast中不需要)。

<div class="table-row" ng-repeat="x in myData" 
ng-model="sort(x.totalAsset)" 
ng-class="x.totalAsset == sortedAsset ? 'lightblue' : ''"> 

第二種方法是,如果做的控制器功能

$scope.areValuesEqual() { 
if($scope.x.totalAssets == $scope.sortedAssets) { 
return 'lightblue'; 
} 

return; 
} 

但是,這看起來相當醜陋,但我只是扔了這一點那裏。

+0

ng-class不起作用的一個原因是x.totalAssets和sortedAssets不相等。你應該先檢查一下。 – IvRRimUm

+0

所以對於第二個控制器函數,我該如何編寫它才能使事情以這種方式工作?'ng-class = areValuesEqual()'? –

+0

就像你寫的:'ng-class =「areValuesEqual()」' – IvRRimUm