0
私はbackbone.jsコレクションとコレクションビューを持っています。そのコレクションを聞くコレクションビューadd
イベント。しかし、コレクションに新しいモデルを追加すると、モデルごとに複数の時間がレンダリングされます。 JSFiddleBackbone.jsコレクションビューは単一のトリガーで複数回レンダリングされます
var ImageCollectioView = Backbone.View.extend({
initialize: function() {
this.collection.bind('add', this.render, this);
},
collection: imgColection,
el: '#cont',
render: function() {
var els = [], self = this;
this.collection.each(function(image){
var imageView = new ImageView({model: image});
self.$el.append(imageView.render().el);
});
return this;
}
});
私はそれを逃しました、その作業は今、もう一つの助けが私のバックボーンのコーディングパターンは大丈夫か間違っていますか? –
@WimalWeerawansaあなたのコードは改善されていますが、問題はありません。 https://jsfiddle.net/rfzqtyru/10/を参照してください。主なことは、ビューコンストラクタ内でモデル/コレクションインスタンスをハードコーディングするべきではないということです。それらを外側に作成し、オプションとして渡すか、ビューの内側に作成します。もう一つは、手動でモデルを初期化する必要はありません。 –
もう一度ご協力いただきありがとうございます。 –