मुझे केओ फ्रेमवर्क पसंद है, हालांकि डीबगिंग कभी-कभी मेरे लिए सिर्फ एक दुःस्वप्न है। नियमित जावास्क्रिप्ट कोड के मामले में मैं ब्रेकपॉइंट डाल सकता हूं और रनटाइम पर वहां जा सकता हूं और देख सकता हूं कि क्या गलत है, लेकिन नॉकआउट एक्सप्रेशन कैसे डिबग करें? ज्यादातर मामलों में बाइंडिंग त्रुटियों में कुछ प्रतीक या गलत वाक्यविन्यास गायब होने का परिणाम होता है, और कभी-कभी नॉकआउट मुझे इस मुद्दे के बारे में स्पष्ट त्रुटियों को दिखाता है, लेकिन कभी-कभी नहीं, अपेक्षित डेटा पृष्ठ पर दिखाई नहीं देता है, या 'बाध्यकारी अभिव्यक्ति गलत' जैसे त्रुटि संदेश होते हैं। , यहां तक कि 'फ़ंक्शन एबीसी' जैसे संदेश भी नहीं मिलते हैं, मुझे तुरंत यह समझने नहीं आता कि क्या गलत है क्योंकि मुझे नहीं पता कि मेरे मॉडल केओ रनटाइम का कौन सा स्तर इस समय से गुज़र रहा है। आदर्श रूप से एक ब्राउजर प्लगइन होना चाहिए जो कि किसी भी केओ अभिव्यक्ति पर ब्रेकपॉइंट्स या कुछ डालने दे और रनटाइम पर चल रहे संदर्भ को देखें। क्या ऐसा कुछ बाजार पर है या उम्मीद है? डीबगिंग प्रक्रिया में सुधार के संबंध में कोई विचार?आप अपने knockout.js बाध्यकारी अभिव्यक्तियों को कैसे डिबग करते हैं?
उत्तर
विकास के दौरान, मैं डीबग संस्करणों का उपयोग करता हूं और createBindingsStringEvaluator()
(v2.1.0 में पंक्ति 1858) पर ब्रेकपॉइंट सेट करता हूं। तो बाइंडिंग "पार्स" होने से ठीक पहले, आप उस अभिव्यक्ति का विश्लेषण कर सकते हैं जिसका मूल्यांकन किया जाएगा, पता लगाएं कि कौन से बाइंडिंग विफल हो गए हैं, उनके संदर्भ और आप बाध्यकारी प्रक्रिया के माध्यम से कदम उठा सकते हैं ताकि आप विफल होने तक सभी तरह से चल सकें।
बहुत जटिल बाइंडिंग के लिए समस्याओं को कम करने के लिए, विशेष रूप से यदि उन्हें दोहराने की आवश्यकता है, तो मैं कुछ कस्टम बाध्यकारी हैंडलर बनाने पर विचार करता हूं जो एक बार में बाइंडिंग का एक सेट लागू कर सकते हैं।
जब आप अपने सभी बाइंडिंग विफल होते हैं और कोई स्क्रिप्ट त्रुटियां नहीं होतीं तो आप क्या करते हैं? – Nikos
यह इस बात पर निर्भर करता है कि आपके पास किस तरह की "विफलता" है। यदि यह कई बाइंडिंग में होता है, तो एक समय में समस्याओं का सामना करें। समझें कि यह सुनिश्चित करने में विफल क्यों हुआ कि आप जो भी उम्मीद करते हैं वह सब कुछ है। –
कूल धन्यवाद !!!! – Nikos
वर्तमान संस्करण (v 3.4.1) में, फ़ंक्शन को parseBindingsString कहा जाता है। वहां debugger
या console.log
सेट करना, आपको कुछ जानकारी मिल जाएगी।
- 1. आप XamlParseException को कैसे डिबग करते हैं?
- 2. आप knockout.js को देखने में कैसे वृद्धि करते हैं?
- 3. आप जावा एप्लेट्स को कैसे डिबग करते हैं?
- 4. आप क्यूटी लेआउट समस्याओं को कैसे डिबग करते हैं
- 5. आप अपने नामस्थान कैसे व्यवस्थित करते हैं?
- 6. आप पोस्टग्रेस के साथ फ़ंक्शंस कैसे डिबग करते हैं?
- 7. आप अपने जावास्क्रिप्ट को कैसे अनुकूलित करते हैं?
- 8. आप अपने यूआरएल मार्गों को कैसे व्यवस्थित करते हैं?
- 9. आप अपने एसक्यूएल उदाहरणों को कैसे याद/प्रबंधित करते हैं?
- 10. आप अपने वर्जन कंट्रोल रिपोजिटरी को कैसे व्यवस्थित करते हैं?
- 11. आप अपने ActiveMQ को लंबवत कैसे स्केल करते हैं?
- 12. आप SugarCRM समस्याओं को कैसे डिबग करते हैं/सीखते हैं कि शुगरसीएमएम कैसे काम करता है?
- 13. आप नॉकऑट जेएस के साथ गतिशील बाध्यकारी कैसे करते हैं?
- 14. किसी प्रोजेक्ट पर अकेले काम करते समय आप अपने आप को कैसे सक्रिय करते हैं?
- 15. सफारी में जावास्क्रिप्ट को कैसे डिबग करते हैं?
- 16. क्लासिक एएसपी कैसे डिबग करते हैं?
- 17. आप अपने शेयरपॉइंट समाधान कैसे तैनात करते हैं?
- 18. आप अपने प्रोजेक्ट लाइफ चक्र का प्रबंधन कैसे करते हैं?
- 19. आप अपने एसटीएल हेडर कैसे व्यवस्थित करते हैं?
- 20. आप अपने आईफोन ऐप्स में क्रैश कैसे प्रबंधित करते हैं?
- 21. आप अपने एक्सटेंशन विधियों के नामस्थान कैसे प्रबंधित करते हैं?
- 22. आप अपने गिट भंडार कैसे व्यवस्थित करते हैं?
- 23. आप अपने समाधान/सिस्टम का वर्णन कैसे करते हैं?
- 24. आप अपने छोटे पुन: प्रयोज्य कैफंक्शन कैसे व्यवस्थित करते हैं?
- 25. आप कैसे FB.Canvas.scrollTo को एनिमेट करते हैं?
- 26. आप अपने नमक तारों को कहां स्टोर करते हैं?
- 27. आप अपने कार्यों को कितनी बार घोषित करते हैं?
- 28. WPF अपने आप को
- 29. आप अपने अंडे के भंडार की मेजबानी कैसे करते हैं?
- 30. आप अपने Django अनुप्रयोगों का प्रबंधन कैसे करते हैं?
कुछ सुझाव: अपने वर्तमान संदर्भ को देखने के लिए यहां एक नज़र डालें: http://stackoverflow.com/questions/9261296/any-good-techniques-to-debug-template-binding-faults-for- नॉकआउट-js। साथ ही, यदि आप वास्तव में मार्कअप से बाहर अपने बाध्यकारी अभिव्यक्तियों को स्थानांतरित करना चाहते हैं, तो इस प्रोजेक्ट पर एक नज़र डालें: https://github.com/rniemeyer/knockout-classBindingProvider –
धन्यवाद। उसी प्रश्न का उत्तर दिया गया है – YMC
मैं एक छोटे डीबग बाध्यकारी का उपयोग करता हूं हैंडलर: http://stackoverflow.com/a/16242988/647845 –