इस दस्तावेज़ में एक एनजी-एनीमेशन उदाहरण है: https://docs.angularjs.org/api/ng/directive/ngIf यदि आप चेकबॉक्स को तेज़ी से और बार-बार क्लिक करते हैं, तो आपको एक से अधिक तत्व प्रदर्शित होंगे, मुझे नहीं पता कि इससे कैसे बचें।त्वरित छोड़ें और कोणीय एनजी-एनीमेशन में एकाधिक तत्व दर्ज करें
उत्तर
ऐसा इसलिए होता है क्योंकि ngIf
उदाहरण के लिए ngShow
से अलग व्यवहार करता है। ngShow
बस, तत्व यह है कि छिपे हुए किया जाना चाहिए करने के लिए एक display: none
शैली कहते हैं, जबकि ngIf निम्नलिखित है:
ngIf निर्देश निकाल देता है या डोम पेड़ एक {अभिव्यक्ति} के आधार के एक हिस्से का पुनर्निर्माण करने वाला। यदि ngIf को निर्दिष्ट अभिव्यक्ति को गलत मान पर मूल्यांकन करती है तो तत्व को DOM से हटा दिया जाता है, अन्यथा तत्व के क्लोन को DOM में पुन: सम्मिलित किया जाता है।
तो यदि एनीमेशन थोड़ा लंबा लगता है, तो डोम में एक से अधिक तत्व होंगे।
ओलिवव के उदाहरण में, यदि आप .animate-if.ng-enter, .animate-if.ng-leave
से 0.001s
की देरी को बदलते हैं तो आप देखेंगे कि आपको एक से अधिक तत्व नहीं मिल सकते हैं।
यहां आप यह देखने के लिए आधिकारिक AngularJS दस्तावेज़ का एक फोर्क संस्करण है। http://plnkr.co/edit/ok7nwOIRpR1TYYRkBRXj?p=preview
मैं केवल 0.001s
धन्यवाद। तो क्लोनिंग हटाने से तेज है, और वे एक-दूसरे को अवरुद्ध नहीं करते हैं? इसलिए यदि एनीमेशन "लंबा" रखना चाहते हैं, तो समाधान क्या है? एनीमेशन अभी भी चल रहा है, जबकि टॉगल कार्रवाई ट्रिगर करने के लिए क्लिक को रोकने के लिए एक debouncer जोड़ें? (बीटीडब्ल्यू, एक ढांचे के रूप में कोणीय नहीं होना चाहिए इसका ख्याल रखना चाहिए? आईएमओ हमें सबसे मानक स्थिति का उपयोग करके दौड़ की स्थिति नहीं मिलनी चाहिए) – Olivvv
सबसे पहले याद रखें कि कोणीयजेएस का उपयोग लाखों लोगों द्वारा किया जा रहा है, इसलिए मेरा मानना है कि इसे मानक रखने की दुविधा, लेकिन आपको इस तरह इसका उपयोग करने के लिए मजबूर कर रही है, या आप इसे जितनी चाहें उतनी स्वतंत्रता देने के लिए मजबूर कर रही है, वे दूसरे के साथ रखीं। –
तो एक और चीज जिस पर आपको विचार करना चाहिए, एनजीशो का उपयोग कर रहा है, जिसे राज्य में अक्सर संशोधित होने पर बेहतर समाधान माना जाता है। आपको इसे डीओएम से हटाने की जरूरत नहीं है और इसे हर बार फिर से बनाना है। आप क्लिक को रोकने के लिए एक उद्घोषक के साथ जो भी उल्लेख करते हैं वह कर सकते हैं, लेकिन क्या यह एक अच्छा यूएक्स समाधान है? या यह सिर्फ एक गंदे कामकाज है? –
- 1. कुंजी दर्ज करें और .net
- 2. छवि अपलोड खींचें और छोड़ें, कोणीय 4
- 3. d3 संलग्न करें और समस्याएं दर्ज करें
- 4. सूची में पहले तत्व को छोड़ें
- 5. PHP डोम तत्व छोड़ें सामग्री
- 6. माउस दर्ज करें/छोड़ें फॉर्म और बटन बाल घटनाओं की समस्या
- 7. दर्ज करें
- 8. सूची में एकाधिक तत्व कैसे सम्मिलित करें?
- 9. एकाधिक तत्व
- 10. लार्वेल 5.1 डेटाबेस में एकाधिक डुप्लिकेट रिकॉर्ड दर्ज करना
- 11. सी # में दस्तावेज दर्ज करें?
- 12. टिंकर में खींचें और छोड़ें?
- 13. मोबाइलसाफरी में खींचें और छोड़ें?
- 14. एक कोणीय तत्व को अनबिंड करें
- 15. कोणीय 2 होस्ट तत्व संदर्भ प्राप्त करें
- 16. एकाधिक कोणीय अनुप्रयोग (ड्राइविंग पोर्टल)
- 17. एकाधिक फ़ाइलों के लिए बैच फ़ाइल खींचें और छोड़ें?
- 18. एक सबमिट बटन दर्ज करें और
- 19. कोणीय के $ तत्व
- 20. आइटम एनीमेशन खींचें, छोड़ें और स्वैप करें?
- 21. कोणीय 2 में कुंजी ट्रिगर पृष्ठ पर किसी भी क्लिक घटना दर्ज करें?
- 22. कोणीय 2 एकाधिक मॉड्यूल
- 23. कोणीय में मूल तत्व क्या है?
- 24. * ब्राउज़र से * खींचें और छोड़ें?
- 25. विजुअल स्टूडियो डीबगिंग के लिए त्वरित रूप से कमांड लाइन पैरामीटर दर्ज करें?
- 26. मुख्य समस्या दर्ज करें
- 27. दर्ज
- 28. साझा तत्व के साथ एक टुकड़े पर संक्रमण दर्ज करें साझा तत्व
- 29. कोणीय 2 एकाधिक टेम्पलेटरफ
- 30. उदाहरण खींचें और छोड़ें?
करने के लिए
0.5s
से देरी को संशोधित किया है .animate-यदि आप स्थिति दे सकते हैं: पूर्ण; स्पष्टीकरण के लिए –