2016-09-17 35 views
1

您好我一直用这个标签来改变我的CSS样式,如果条件totalAsset和sortedAsset相同角JS渲染可变范围功能查看并比较

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

功能逻辑只有第一行和最后一行将变成蓝色,其他两行保持不变。

回答

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}"> 
+0

谢谢你,我还是在我的代码中的错误,那就是有很多的结果在我的数据,但纳克单击当我在某个项目点击只给真/假。如何使用ng-click在我的表上单击一次以显示所有真正的表行? –

+0

其实这是一个完全不同的问题。我建议你问这是一个新的SO问题。 – Jireugi