问题:确保从不显示每行的最后一个分隔符的最优雅的方法是什么?
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/