6

Backbone CompositeView から最後の ItemView を取得することは可能ですか? コレクション内の最後のモデルを取得するための多くのドキュメントを見つけましたが、ビューのコレクション内の最後のビューではありません。

これを行う理由は、テーブルの最後の行を少し異なる方法でレンダリングできるようにするためです。

以下は私が現在使用しているコードです。正常に動作しますが、それを作成してレンダリングした CompositeView から正しい ItemView を取得できれば、「ハック」は少なくなります。jQuery を使用して CompositeView に含まれる DOM の部分全体で最後の要素を検索し、その要素を操作します。

B.ListControl.View = Backbone.Marionette.CompositeView.extend({
    itemView: ...,
    itemViewContainer: ...,
    template: ...,
    // ON RENDER
    onRender: function(){
        // Add button to the last element in the list
        this.$el.find('div:last').text('Custome stuff goes here');
    }
});

ありがとう!

4

1 に答える 1

10

コレクションがフェッチされると、次の方法で最後のアイテムを取得できます。

this.children.findByIndex(this.children.length - 1);

Babysitter プラグインは、多くの便利なメソッドを提供します:

findByModelfindByCollectionfindByCustomfindByIndexfindByCid

于 2013-09-01T06:15:10.860 に答える