您好,如果条件totalAsset和sortedAsset相同,则我一直在使用此标记来更改CSS样式

<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);
}


在逻辑上,只有第一行和最后一行将变为蓝色,其他两行保持不变。

但是我的问题是只有最后一个变成蓝色,而第一个没有变成蓝色。

最佳答案

我不确定是否需要{{}}(ng2 atleast中不需要它们)。

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


第二种方法是执行if in controller功能

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

return;
}


但这看起来很难看,但我只是把它扔在那里。

关于javascript - 如何使用ng-class比较自调用值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39547961/

10-11 23:51