2016-09-17 62 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