CellModels'in bir CellCollection öğesini içeren bir BoardView var. Koleksiyonu db'den aldım ve sonra CellViews'ı yaratıyorum.backbone.js - click olayından bir modele erişme
Bu, tüm BoardView üzerinde bir tıklama olayı aracılığıyla bir CellModel erişmeye çalışana kadar yüzme çalışır. Temel modellere hiç ulaşamam ... sadece görüşler. Bunu yapmanın bir yolu var mı?
Ben aşağıdaki ilgili kod eklemek için teşebbüs ettik: o tahta özgü mantığı içerir çünkü
CellModel = Backbone.Model.extend({});
CellCollection = Backbone.Collection.extend({
model : CellModel
});
CellView = Backbone.View.extend({
className : 'cell',
});
BoardView = Backbone.View.extend({
this.model.cells = new CellCollection();
render : function() {
this.cellList = this.$('.cells');
return this;
},
allCells : function(cells) {
this.cellList.html('');
this.model.cells.each(this.addCell);
return this;
},
addCell : function(cell) {
var view = new Views.CellView({
model : cell
}).render();
this.cellList.append(view.el);
},
events : {
'click .cell' : 'analyzeCellClick',
},
analyzeCellClick : function(e) {
// ?????????
}
});
Ben BoardView değil CellView üzerinde "olur" için tık yeterlidir.
OP. Her iki çözüm de kusursuz çalıştı ... ve # 1 benim amacım için mükemmel. çok teşekkürler. –
Büyük - Eğer cevap mutluysan, sen skor altında onay kutusunu :) tıklayarak kabul edebilirsiniz. – nrabinowitz
Çözüm 2, bence, iyi bir fikir değil. Omurga bütün mesele sunucudan veri almak ve istemci görünümünde işlemek ve görünümden verileri almak ve geri göndermek için getirmemektir. Çalışıyor, ama güzel bir yol değil. – sntran