I have a Handlebars template where I'm trying to generate a comma-separated list of items from an array.
In my Handlebars template:
{{#each list}}
{{name}} {{status}},
{{/each}}
I want the ,
to not show up on the last item. Is there a way to do this in Handlebars or do I need to fall back to CSS selectors?
UPDATE: Based on Christopher's suggestion, this is what I ended up implementing:
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()
})
}));
and in my view:
{{collection attachments}}
and the item view:
{{content.title}} ({{content.size}}) {{#unless isLastItem}}, {{/unless}}
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…