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/를 참조하십시오. 주된 것은 뷰 생성자 내부에서 모델/콜렉션 인스턴스를 하드 코딩해서는 안된다는 것입니다. 외부에 생성하고 옵션으로 전달하거나 뷰 내부에 생성하십시오. 또 다른 것은 수동으로 모델을 초기화 할 필요가 없다는 것입니다. –
다시 고맙습니다. –