मेरे पास एक बोर्ड व्यू है जिसमें सेलमोडल्स का सेलकोलेक्शन है। मैं संग्रह को डीबी से लाता हूं और फिर सेलव्यू बना देता हूं।backbone.js - एक क्लिक ईवेंट से मॉडल तक पहुंच
यह सब तब तक काम करता है जब तक मैं बोर्डव्यू पर एक क्लिक ईवेंट के माध्यम से सेलमोडेल तक पहुंचने का प्रयास नहीं करता। मैं अंतर्निहित मॉडल तक नहीं पहुंच सकता ... केवल विचार। क्या इसे करने का कोई तरीका है?
मैं नीचे प्रासंगिक कोड को शामिल करने का प्रयास किया है:
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) {
// ?????????
}
});
मैं, क्लिक करने के लिए BoardView, नहीं cellview पर "हो" की जरूरत है, क्योंकि यह बोर्ड विशेष तर्क शामिल है।
ओपी यहां। दोनों समाधान निष्पक्ष रूप से काम करते थे ... और # 1 मेरे उद्देश्यों के लिए बिल्कुल सही है। बहुत बहुत धन्यवाद। –
ग्रेट - अगर आप उत्तर से खुश हैं, तो आप स्कोर के नीचे चेकबॉक्स पर क्लिक करके इसे स्वीकार कर सकते हैं :)। – nrabinowitz
समाधान 2, मेरी राय में, एक अच्छा विचार नहीं है। बैकबोन का पूरा बिंदु सर्वर से डेटा प्राप्त करना और क्लाइंट व्यू में प्रस्तुत करना है, और दृश्य से डेटा प्राप्त नहीं करना और वापस भेजना है। यह काम करता है, लेकिन यह एक अच्छा तरीका नहीं है। – sntran