javascript - ng-重复 : Identify Change of Element Value In Sorted List

标签 javascript angularjs

我正在使用 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-repeatng-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/

相关文章:

javascript - 使用 Angular $resource 获取相关数据的正确模式

javascript - 使用 JavaScript 模拟 CSS 悬停

javascript - 为什么表格不能拉伸(stretch)到 100% 宽度

javascript - AngularJs 在 forEach 中的 promise

javascript - 插入 SQL 上的双引号和单引号

javascript - 无法使用 Angular.js/Javascript 比较日期

angularjs - Firebase 处理列表数据

javascript - $http数据,类型错误: Cannot call method slice of undefined

javascript - TypeError : Object(. ..) 不是带有 ECharts 的 Ionic 4 应用程序中的函数

angularjs - ng-Animate:如何为同级 div 设置动画?