मैं एक jquery & backbone.js वेब ऐप विकसित करता हूं।
एक घटक में एक HTML तालिका है और इस तालिका के पीछे एक backbone.js संग्रह है।
इस संग्रह में कोई परिवर्तन एचटीएमएल तालिका के एक अद्यतन करने के लिए नेतृत्व करना चाहिए, तो मैंbackbone.js संग्रह घटनाएं
this.collection.bind("reset add remove", this.renderRows, this);
बारे में तो मैं HTML तालिका, जब पूरे संग्रह नया हो जाता है, जब एक नया मॉडल जोड़ा जाता है और जब एक अद्यतन मॉडल हटा दिया जाता है।
एक विस्तृत दृश्य घटक भी है जिसे उपयोगकर्ता बुलाता है और HTML तालिका की एक निश्चित पंक्ति पर क्लिक करता है। इस घटक की शुरुआत में मैं उपयोगकर्ता के बाद कुछ विशेषताओं बदल गया है संग्रह से बाहर
changeModel = this.collection.get(id);
सही मॉडल मिलता है, मैं
changeModel.set(attrs);
करते हैं और एचटीएमएल मेज पर वापस जाएँ। संग्रह में मॉडल में सही बदले गए मान हैं।
लेकिन एचटीएमएल तालिका अपडेट नहीं की गई है क्योंकि 3 घटनाओं में से कोई भी नहीं (रीसेट, एड, हटाएं) ट्रिगर किया गया था।
तो मैं संग्रह
this.collection.bind("replace reset add remove", this.renderRows, this);
बंधन को जोड़ा गया "की जगह" और विस्तार देखने से लौटने से पहले मैं
this.collection.trigger("replace");
कहा जाता है मेरे समाधान काम करता है, लेकिन मेरे सवाल यह है:
क्या कोई "मूल" बैकबोन.जेएस समाधान है जो पहले से ही है और मैं चूक गया हूं और जहां मुझे अपने आप से कुछ ट्रिगर नहीं करना है?
धन्यवाद। मुझे लगता है कि आपको मूल उत्तर का प्रस्ताव देना चाहिए जैसे कि "बैकबोन ने कुछ सुविधाएं जोड़ दी हैं क्योंकि मैंने पहली बार यह लिखा है, अगर आप हाल ही में बैकबोन का उपयोग कर रहे हैं, तो नीचे अपडेट देखें।" 20 या तो उत्तर की तरह दिखने वाली रेखाएं हम में से कुछ के लिए ध्यान अवधि की सीमा के करीब है। फिर से धन्यवाद, सहायक। –
सहमत "अद्यतन" शीर्ष पर होना चाहिए, लेकिन वे वास्तव में स्पष्टीकरण और कोड की 20 पंक्तियों को स्वरूपित करते थे, मुझे इसके माध्यम से पढ़ने में कोई समस्या नहीं थी। – Gal