का बैकबोन चेंज मॉडल मैं बैकबोन के लिए बिल्कुल नया हूं और निम्नलिखित प्रश्न है:व्यू
मेरे पास मॉडल का संग्रह है।
मेरे पास एक संग्रह दृश्य टैब है (संग्रह में प्रत्येक मॉडल के लिए एक दृश्य के साथ)।
मेरे पास एक मॉडल (सामग्री के लिए) के लिए एक दृश्य है।
मेरे पास मार्गों के साथ राउटर है।
क्या मैं प्राप्त करने के लिए कोशिश कर रहा हूँ है की तरह http://jqueryui.com/demos/tabs/
मैं एक टैब (संग्रह के मॉडल) पर क्लिक करें और फिर शायद सामग्री को देखने के लिए मॉडल पारित इसे बदलने और संग्रह में बदलाव को प्रतिबिंबित करना चाहते हैं एक कार्यक्षमता ।
रूटर में:
मैं चार समाधान के साथ आया था
'switchCommunity': function(id) {
// (a) set new model attributes
this.view.community.model.set(communities.get(id));
// (b) replace model
this.view.community.model = communities.get(id);
// (c) a custom function of the view changes its model
this.view.community.changeModel(communities.get(id));
// (d) a new view
this.view.community = new View({
model: communities.get(id)
})
}
समस्या यहाँ है
(क) में मॉडल में परिवर्तन को प्रतिबिंबित नहीं करता संग्रह
(बी) ट्रिगर नहीं करता है (बदलें) घटनाओं, क्योंकि देखने के इनिशियलाइज़ समारोह में बाँध कभी नहीं चलाता है, क्योंकि यह एक पूरी तरह से नए मॉडल है
(ग) मेरे लिए एक हैक की तरह लगता है
(घ) हर मैं पर क्लिक करें एक टैब कोई नया दृश्य बन जाता है (यह एक प्रदर्शन मुद्दा है?)
क्या सबसे अच्छा अभ्यास यहाँ है?
मैं कोशिश करता हूं (डी) - यदि आप पहले पुराने दृश्य को हटाते हैं तो यह प्रदर्शन समस्या नहीं बनता है। – swatkins
में (डी) मैं अपना यह ओवरराइट करता हूं .view.com मुक्ति यह पर्याप्त है या क्या मुझे इसे मैन्युअल रूप से निकालना है? – Riebel
यह पर्याप्त होना चाहिए, जब तक कि पुराने डोम तत्व चारों ओर लटकते नहीं हैं और घटना श्रोताओं को उनके पास बाध्य किया जाता है, उन्हें कचरा इकट्ठा किया जाना चाहिए। मैं फायरबग के साथ सत्यापित करूंगा, लेकिन मुझे लगता है कि यह सही है। – swatkins