2016-02-16 45 views
0

如何排序顯示歌曲標題,持續時間,藝術家持續時間表。我在我的HTML中使用了下面的代碼來根據表頭進行排序。 另外,如何設置默認排序歌曲標題,而不使用控制器?基於歌曲持續時間的角度js-排序表,並設置默認排序標題名稱

<thead><tr><th class="title" ng-click="orderByField='titlename'; reverseSort = !reverseSort">Title</th> 
<th class="artist" ng-click="orderByField='artist'; reverseSort = !reverseSort">Artist</th> 
<th class="duration" ng-click="orderByField='duration'; reverseSort = !reverseSort">Duration</th></tr></thead> 

<tbody> 
<tr> 
<th ng-repeat="songs in songs | orderBy : orderByField : reverseSort> 
<td>{{songs.title}}</td> 
<td>{{songs.artist}}</td> 
<td>{{songs.duration}}</td> 
</tr></tbody> 
+0

究竟什麼不行? – martin

+0

排序工作正常,但默認順序未設置爲標題升序。對於Duration,降序顯示爲:6:04:48,4:09:25,48:02,46:18,3:08:14,2:33:51,27:58而不是6:04 :48,4:9:25,3:8:14,2:33:51,48:02,46:18,27:58。與上升一樣。 – Sinz

回答

0

您可以使用ngInit初始化排序標準,只要你想:

<tbody> 
    <tr ng-init="orderByField='title'; reverseSort=false" 
     ng-repeat="songs in songs | orderBy : orderByField : reverseSort> 

     <td>...</td> 
    </tr> 
</tbody> 
+0

謝謝。它給出了相反的順序。有排序升序的方法嗎? – Sinz

+0

在'ng-init'裏面,你也可以初始化'reverseSort'。 – martin

+0

非常感謝。默認訂單正在工作。 – Sinz

0

對於默認順序,使用$ scope.orderByField = 'TITLENAME';在控制器中。