2015-04-17 50 views
2

我有用於防爆一個數據集:Angularjs ORDERBY與整數字符串

$scope.friends = 
     [{name:'John', score:'10'}, 
     {name:'Mary', score:'19'}, 
     {name:'Mike', score:'-21'}, 
     {name:'Adam', score:'-35'}, 
     {name:'Julie', score:'29'}]; 
}]); 

我用這個數據作爲ng-repeat源,

<tr ng-repeat="friend in friends | orderBy:'-score' "> 
    <td>{{friend.name}}</td> 
    <td>{{friend.score}}</td> 
</tr> 

我想將friends根據scoredescending排序訂購。如下圖所示,

Name Score 
------------- 
Julie 29 
Mary 19 
John 10  
Mike -21 
Adam -35 

,但我得到的輸出,

Name Score 
------------- 
Julie 29 
Mary 19 
John 10 
Adam -35 
Mike -21 

這裏是一個Demo Plunker

注意 -21和-35是不是在正確的順序輸出,這是因爲score屬性值爲String值。如果我將其更改爲int值,則所有按預期工作。如何克服這一點,並請考慮我無法改變score屬性的類型。

+2

這似乎是在角度有效[懸而未決的問題(https://github.com/angular/angular.js/issues/11435)。提到一些建議來解決它。 – oliveromahony

回答

2

什麼

<tr ng-repeat="friend in friends | orderBy:'+-score' "> 
    <td>{{friend.name}}</td> 
    <td>{{friend.score}}</td> 
</tr> 

Plunker