Bir CompositeView uygulamasının veriyi tanımlanmış öğeye aktarıp kapatamadığını merak ediyorum. Örnek (azaltılmış) kod:Backbone.Marionette: Verileri bir CompositeView aracılığıyla aşağıya öğesindenViewView?
var TableView = Backbone.Marionette.CompositeView.extend({
template: '#table-template',
itemView: TableRowView,
itemViewContainer: 'tbody',
});
var TableRowView = Backbone.Marionette.ItemView.extend({
tagName: 'tr',
template: '#table-row-template',
serializeData: function() {
var data = {
model: this.model,
// FIXME This should really only be called once. Pass into TableView, and down into TableRowView?
// That way, getDisplayColumns can be moved to the collection as well, where it makes more sense for it to belong.
columns: this.model.getDisplayColumns()
};
return data;
}
});
İki tane html tablosu oluşturmak için kullanıyorum. # table-row-template, farklı "sütun" türlerini desteklemek için bazı işleme mantığına sahiptir. Bu, farklı Koleksiyonlar/Model türleri için aynı görünümleri kullanmamı sağlar (API'yi izledikleri sürece). Şimdiye kadar, gayet iyi çalışıyor!
Ancak, yukarıdaki gibi görebildiğiniz gibi, her "satır" her seferinde aynı "sütunlar" verilerini almak için bir çağrı yapar, sadece bunu bir kez aşağı aktarmak istediğimde ve herkes için kullanılır.
Öneriler?
Teşekkürler!
Takdir. Çok teşekkürler. Dokümanlar bir güncelleme yapabilirdi. – starmonkey
n.b. Marionette v2, 'item *' '' child * 'olarak değiştirildi – alxndr