Angular JS在范围函数中呈现变量以查看和进行比较

时间:2016-09-17 13:02:21

标签: javascript css angularjs angularjs-scope

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

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

totalAsset是我的数据

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

我创建了一个自我排序totalAsset

的函数
$scope.sort = function (){
$scope.unsortedAsset = $scope.myData.totalAsset;
$scope.sortedAsset=$scope.unsortedAsset.split("").sort().join("");
}

在逻辑中只有第一行和最后一行变为蓝色,其他两行保持相同。

1 个答案:

答案 0 :(得分:0)

sort()中,您可以直接访问$scope.myData.totalAsset。这将被解析为对$scope.myData中具有totalAsset成员的最后一个对象的引用。

相反,您想迭代myData中的所有对象。这可以通过向sort函数提供参数来实现,如下面的代码所示。

$scope.sort = function (totalAsset){
    $scope.unsortedAsset = totalAsset;
    $scope.sortedAsset=$scope.unsortedAsset.split("").sort().join("");
}

然后,您还必须通过提供参数值来调用sort函数。

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