javascript - AngularJS:在重复多个数组时防止显示最后一个分隔符

标签 javascript angularjs angularjs-ng-repeat

问题:确保从不显示每行的最后一个分隔符的最优雅的方法是什么?

11|18|3|8|12|1|22|31|61|
11:18:3:8:12:1:22:31:
11,18,3,8,12,61,
1 22 31

请注意,数据来自三个不同的数组,例如,第 1 行的数据定义为:

$scope.numbers = [11,18,3,8,12];
$scope.specialNumbers = [1,22,31];
$scope.additionalNumbers = [61];

我希望看到一种更优雅/更 Angular 方式,而不是仅仅找到最后一个 <li>并使用 $element.find 删除分隔符,或类似的。

我创造了一点 JSFiddle示例来说明问题。

谢谢

最佳答案

这是一个完整的解决方案,使用建议的 $last 检查(仅一次)与 Array.concat 结合使用,它在 Angular 表达式中受支持,因此支持绑定(bind).但是,要正确地重复文字,您还需要 track by $index

"<li ng-repeat='num in numbers.concat(specialNumbers,additionalNumbers) " +
               "track by $index'>" +
    "<span>{{ num }}</span><span ng-if='!$last'>{{ separator }}</span>" + 
"</li>"

关于javascript - AngularJS:在重复多个数组时防止显示最后一个分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30605259/

相关文章:

javascript - React-native CSS 使父容器透明

javascript - addeventListener 中 useCapture 的推理?

javascript - 获取通过 FileReader 加载的图像的宽度和高度

angularjs - Angular Material md-select 和 ng-repeat 性能缓慢

javascript - Angular ng-repeat范围问题

javascript - 如何给多个元素添加一个类?

javascript - 将单词按正确的顺序放置以通过拖放造句

javascript - AngularJS ng-repeat 过滤功能未正确过滤

javascript - AngularJS 绑定(bind)数据

javascript - 将 $http 响应分配给 $scope 时,AngularJS View 不会更新