我正在使用 ng-repeat 创建一个表。该表有一列名为 Season
显然由 {{episode.season}}
填充。源数据按季节排序。
我想在最后一个<tr>
添加一个类每个季节的,即季节变化时,例如
--------------------------
EPISODE 1 | SEASON 1
--------------------------
EPISODE 2 | SEASON 1
--------------------------
EPISODE 3 | SEASON 1 <- THIS ROW SHOULD HAVE DIFFERENT FORMATTING
--------------------------
EPISODE 1 | SEASON 2
--------------------------
使用普通 JavaScript,我会在比较每个季节的同时遍历表格 <td>
与下一个,如果有差异则添加一个类。
但是,我不知道如何使用 angularjs 来做到这一点。如有任何帮助,我们将不胜感激。
解决方案
我决定通过循环访问服务器端的数据集,为此设置适当的 bool 值,然后使用 ng-class
来识别每个季节的最后一集。在用户界面上。它看起来比循环遍历渲染的 HTML 表格更简单、更整洁。
最佳答案
您可以使用 ng-repeat
和 ng-class
的 $last
来设计每季最后一集的样式
数据
$scope.shows = [{
"season" : "season 1",
"episodes" :["episode 1","episode 2","episode 3"]
},
{
"season" : "season 2",
"episodes" : ["episode 1","episode 2","episode 3"]
},
{
"season" : "season 3",
"episodes" : ["episode 1","episode 2","episode 3"]
}
];
<tbody ng-repeat="show in shows">
<tr ng-class="$last ? 'endSeason' : ''" ng-repeat="episode in show.episodes">
<td>{{show.season}}</td>
<td>{{episode}}</td>
</tr>
</tbody>
<强> FULL EXAMPLE
关于javascript - ng-重复 : Identify Change of Element Value In Sorted List,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41355545/