javascript - Executing a function before JQuery $destroy -
मेरे पास ऐसा कोड का एक टुकड़ा है
$ ('# id') ('$ नष्ट', फ़ंक्शन () {...}})
मुझे यह समारोह नष्ट घटना से ट्रिगर करना चाहते हैं, लेकिन इसे नष्ट करने से पहले इसे निष्पादित करना चाहिए, अभी यह उसके बाद निष्पादित है क्या कोई यह सुझाव दे सकता है कि कैसे इसे प्राप्त करना है?
प्रॉक्सी के रूप में $ broadcast
का उपयोग करें (घटना, विकल्प) {console.log (स्ट्रिंग ()। कॉन्सैट ("इवेंट:", इवेंट, "पुराने: कॉल करने के लिए $ destroy
:
", Options.oldValue," New: ", options.newValue); / * नष्ट करने से पहले सामान निष्पादित करें .... .... * / / * मैन्युअल रूप से कॉल को नष्ट कर दिया जाता है जब / $ दायरा। $ प्रसारण (" $ नष्ट करें ");} / * कॉलबैक * / $ का दायरा जोड़ें। $ (" पहले डेस्टोरय ", पहलेस्टोरॉय) / * ट्रिगर ब्रॉडकास्ट ईवेंट * / $ गुंजाइश। $ प्रसारित करें (" पहले डेस्टराय ", {newValue: $ scope.id ++, oldValue: $ Scope.id});
$ ट्रांस्काइक्टेड फ़ंक्शंस अब अटैचमेंट की गई सामग्री में ईवेंट हैंडलर को नष्ट कर देते हैं, और इसलिए यदि आप निकाल देते हैं तो संबंधित ट्रांसकैक्ट गुंथे को स्वचालित रूप से नष्ट नहीं किया जाएगा डीओएम से सीधा DOM हेरफेर का उपयोग करते हुए एक अलग तत्व जैसे कि jquery remove () विधि।
यदि आप चाहते हैं स्पष्ट रूप से आपके निर्देश के भीतर DOM तत्वों को संकलित किया गया है जो संकलित किया गया है, और इसलिए संभावित रूप से बच्चे (और ट्रांसस्क्यूटेड) स्कॉप्स होते हैं, फिर दायित्व को पकड़ने और एक ही समय में इसे नष्ट करने की आपकी ज़िम्मेदारी है।
सुझाव दिया गया है कि आप किसी भी डोम तत्वों के आसपास अपने स्वयं के एक नए बच्चे के दायरे का निर्माण करें ताकि आप इस तरह से हेरफेर कर सकें और यदि आप अपनी सामग्री को हटा दें तो उन स्कोपों को नष्ट कर दें- फिर किसी भी बच्चे के स्कोप को नष्ट कर दिया जाएगा और स्वचालित रूप से साफ किया जाएगा।
ध्यान दें कि सभी अंतर्निहित निर्देश जो DOM (एनजीआईएफ, एनजीआरपीएपी, एनजीएसइचिट, आदि) में हेरफेर करते हैं, वे पहले से ही इस सर्वोत्तम अभ्यास का पालन करते हैं, इसलिए यदि आप केवल डोम में हेरफेर करने के लिए इसका इस्तेमाल करते हैं तो आपको इस बदलाव की चिंता नहीं है ।
संदर्भ
Comments
Post a Comment