在每个块的handlebas#中以不同的方式处理列表的最后一个元素

treating the last element of a list differently in handlebars #each block

本文关键字:处理 方式 列表 元素 最后一个 handlebas#      更新时间:2023-09-26

可能重复:
如何在{{#each}}循环中的元素之间添加除最后一个元素之后的分隔符?

最简单的情况是,假设我有一个名称列表,我希望它们之间用逗号显示。我可以做

{{#each name in names }} {{name}}, {{/each}}

然后产生最后一个

John, Paul, George, Ringo,

最后加一个不需要的逗号。我可以想办法通过在控制器函数中添加逗号来处理这个问题,但这似乎很尴尬,有点违反了MVC分离。有没有一种方法可以在车把上识别你何时处理最后一个元素并进行相应的调整?

Javascript有一个.join函数,您很可能会使用它:

['John', 'Paul', 'George', 'Ringo'].join(', '); //John, Paul, George, Ringo

另一种方法,以防您无法使用Join。

var arr = ['John', 'Paul', 'George', 'Ringo'];
var names="";
$.each(arr, function(i,val) { 
if (i < arr.length-1)
  names += val + ","
else
 names += val
 });
alert (names);