私は配列から項目のカンマ区切りリストを生成しようとしているハンドルバーテンプレートを持っています。私のハンドルバーテンプレートで最後の要素の後を除く{{#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}}
もう1つのことは、最後のアイテムを削除すると、次のようになります。最後のセパレータを削除するために、各項目の再描画を強制します。デフォルトでは、アイテムを削除するとそのアイテムのビューのみが削除され、他のアイテムは更新されません(意味があります)。 –