最後の要素の後を除いて、{{#each}}ループ内の要素間にセパレータを追加するにはどうすればよいですか?

クリス・トンプソン:

配列から項目のコンマ区切りのリストを生成しようとしているハンドルバーテンプレートがあります。

私のハンドルバーテンプレート:

{{#each list}}
    {{name}} {{status}},
{{/each}}

私がしたい,最後の項目に表示しないように。ハンドルバーでこれを行う方法はありますか、それともCSSセレクターにフォールバックする必要がありますか?

更新:クリストファーの提案に基づいて、これは私が最終的に実装したものです:

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}}
Christopher Swasey:

これを行うには、標準のCSSを使用できます。

li:after {
    content: ',';
}

li:last-of-type:after {
    content: '';
}

私は個別のルールを好みますが、少し読みにくいバージョンの方が簡潔です(コメントの@Jayから):

li:not(:last-of-type):after {
    content: ',';
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

Related 関連記事

ホットタグ

アーカイブ