我有一個Handlebars模板,我試圖從數組中生成逗號分隔的項目列表。除了最後一個元素之外,如何在{{#each}}循環中的元素之間添加分隔符?
在我把手模板:
{{#each list}}
{{name}} {{status}},
{{/each}}
我想,
不上的最後一項顯示出來。有沒有辦法在Handlebars中做到這一點,或者我需要回退到CSS選擇器?
UPDATE:基於克里斯托弗的建議,這是我最終實現:
var attachments = Ember.CollectionView.extend({
content: [],
itemViewClass: Ember.View.extend({
templateName: 'attachments',
tagName: 'span',
isLastItem: function() {
return this.getPath('parentView.content.lastObject') == this.get('content');
}.property('parentView.content.lastObject').cacheable()
})
}));
在我看來:
{{collection attachments}}
和項目視圖:
{{content.title}} ({{content.size}}) {{#unless isLastItem}}, {{/unless}}
我發現另一件事是,如果你刪除最後一項,你需要強制重繪每個項目以刪除最後一個分隔符。默認情況下刪除一個項目似乎只刪除該項目的視圖,其他人沒有更新(這是有道理的)。 –