Bir sorunum var: CollectionView
benim ItemViews
'umu görüntülemiyor. Bir Koleksiyon'dan bir koleksiyon görünümüne geçiriyorum. CollectionView olarakKukla Koleksiyonu Görüntüle, getirme koleksiyonu olayları tetiklemiyor
// Create a a collection for the view
this.articles = new Articles(null, {
organizationId : this.model.organizationId,
projectId : this.model.id
});
var articlesView = new ArticleCollectionView({ collection : this.articles});
this.articlesRegion.show(articlesView);
: Sayfa düzeninde
: Ben CollectionView
yılında koleksiyonu getirilirken am
define([
'marionette',
'templates',
'i18n!nls/projectDashboard',
'views/projectDashboard/ArticleItem'
], function (Marionette, templates, msg, ArticleItemView) {
return Marionette.CollectionView.extend({
initialize : function() {
this.listenTo(this.collection, "reset", this.render);
this.collection.fetch();
},
itemView : ArticleItemView
});
});
ItemView In:
define([
'marionette',
'templates',
'models/Article'
],
function (Marionette, templates, Article) {
return Marionette.ItemView.extend({
initialize : function() {
console.log('itemviewrender');
},
template : templates.projectDashboard.articleItem
});
});
genel olarak kurulum çalışıyor. Bu çalışmayı elde etmenin bir yolunu buldum: Koleksiyonu düzende getir ve başarı geri dönüşünde bölgeye CollectionView
göster.
Koleksiyondaki dinleyicilerin eklenmesi Koleksiyon için başarısız oldu. Hiçbir olay
this.collection.on('reset', this.render, this);
veya
collectionEvents : {
'reset' : 'render'
}
Sadece toplama getirilirken eğer madde Görüntüleme var olan toplama Görünüm rerender istedikleri gibi zorunlu ve bildirime dinleyici için ateşlenir. Eminim bir şey özledim. Herhangi bir yardım takdir edilir!
GÜNCELLEME: İlgi çekici bir şey buldum: Koleksiyonda düzeni getirip toplama başarısını geri çağırırsanız koleksiyonunu oluşturursam zaten söyledim. İlginç olan: Getirilen koleksiyonu geçersem de dinleyiciler çalışır. Yeniden 'u initialize
numaralı telefondan arayarak tetiklerim. Ardından yeniden çalışma. Pasajdan koleksiyon geçişi etrafında bir şey olmalı.
Etkinliği nerede ciltliyorsunuz? CollectionView' başlatma yönteminde olmamalıdır? Ayrıca, "on" – neebz
yerine "listenTo" kullanmayı deneyin, bunlar CollectionView'dadır, daha iyi bir anlayış için CollectionView'a eklemeliyim, sanırım, – pfried
ya da listenen ile çalışın. Dokümanlara göre, Marionnette'in sizin için otomatik olarak yaptığı gibi olayları manuel olarak bağlama gereği duymuyorsunuz: https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.collectionview.md# collectionview-render. Bu durumda garip bir sorun var gibi görünüyor, – neebz