अगर मैं window.myView
चर में दृश्य की दुकान है, यह प्रस्तुत करना है, तो JavaScript कंसोल में कहते हैं:क्यों एचटीएमएल की जगह पर बैकबोन घटनाएं काम नहीं करतीं?
$('#container').html('')
और फिर कहते हैं:
$('#container').html(window.myView.$el)
बाउंड घटनाओं काम करना बंद कर देगा।
मैं बहुत यकीन है कि इतना माना जाता है, लेकिन:
- क्यों वास्तव में यह इस तरह से काम करता है?
- ईवेंट बाइंडिंग खोने के दृश्य के उप-भाग को फिर से प्रस्तुत करने के लिए कैसे?
- क्यों
myView.render()
कॉलिंग ईवेंट बाइंडिंग खोना नहीं होगा?
अद्यतन:
मिले this लेख। क्या यही कारण है?
सुनिश्चित करें jQuery अपने घटनाओं उतारने नहीं है जब आप नहीं है यह
करना चाहते हैं आप जहां मक्खी पर दृश्य बनाने और देते हैं/उन्हें डोम को हटाने किसी ऐप का निर्माण कर रहे हैं, तो आप, एक समस्या हो सकती है। जब भी आप डोम से एक दृश्य हटाते हैं, jQuery सभी घटनाओं को अनलोड करता है। तो आपके पास एक दृश्य का संदर्भ नहीं हो सकता है और इसे डोम से हटाया जा सकता है और फिर इसे बाद में फिर से संलग्न कर सकता है। आपके सभी कार्यक्रमों को अनलोड किया गया होगा। यदि आप विचारों को चारों ओर रखना चाहते हैं, तो प्रदर्शन का उपयोग करके उन्हें छिपाना बेहतर विचार है: कोई भी नहीं। हालांकि, आपको इसका दुरुपयोग नहीं करना चाहिए और उन विचारों को रीसायकल करना चाहिए जिन्हें आप थोड़ी देर के लिए उपयोग नहीं करेंगे (और मेमोरी लीक को रोकें)।
साफ़ करने के लिए मेमोरी लीक का कारण बन सकता है इस प्रश्न के लिए धन्यवाद। मुझे स्पाइन के साथ एक ही समस्या थी और यह पता नहीं लगा सका कि क्या हो रहा था। –