मैं एक नया उल्का ऐप बनाने की प्रक्रिया में हूं और मैं अपने प्रत्येक लूप से पहले console.log()
चलाने के लिए हैंडलबार्स के साथ जावास्क्रिप्ट तर्क जोड़ने का तरीका नहीं समझ सकता। रीढ़ की हड्डी में, मैं यह जांचने के लिए <% console.log(data); %>
करूँगा कि डेटा पास किया जा रहा था।
मुझे यकीन नहीं है कि मीटियर और हैंडलबार के साथ ऐसा कैसे करें और मुझे उनकी साइट पर समाधान नहीं मिला।मैं हैंडलबार टेम्पलेट के अंदर console.log() जावास्क्रिप्ट तर्क कैसे जोड़ूं?
उत्तर
अपनी परियोजना में ग्राहक-लोडेड जावास्क्रिप्ट फ़ाइलों में से एक में एक Handlebars सहायक बनाएँ:
Template.registerHelper("log", function(something) {
console.log(something);
});
और फिर अपने खाके में इसे कहते:
{{log someVariable}}
आप के साथ वर्तमान संदर्भ प्रवेश कर सकते हैं बस {{log this}}
।
(ध्यान दें कि उल्का में संस्करण 0.8 से पहले, या एक उल्का ऐप के बाहर शुद्ध Handlebars में, Handlebars.registerHelper
साथ Template.registerHelper
बदलें।)
मैं लगता है इस सहायक काफी उपयोगी हो
Handlebars.registerHelper("debug", function(optionalValue) {
console.log("Current Context");
console.log("====================");
console.log(this);
if (optionalValue) {
console.log("Value");
console.log("====================");
console.log(optionalValue);
}
});
तो आप दो तरीके
सिर्फ एक सरल
{{debug}}
में उपयोग कर सकते हैं
जो वर्तमान संदर्भ
बाहर प्रिंट होगा या एक ही मूल्य
{{debug val}}
सिर्फ इतना है कि मूल्य
मुझे यह सिद्धांत में पसंद है, लेकिन जब मैंने इसका इस्तेमाल किया, तो 'वैकल्पिक वैल्यू' हमेशा ऑब्जेक्ट के रूप में परिभाषित किया गया था, भले ही कोई वैकल्पिक मूल्य पारित न हो। मुझे नहीं पता कि यह रजिस्टर का डिफ़ॉल्ट व्यवहार है या नहीं, मेरे ढांचे में कुछ और हैल्पर विधि। इसके अलावा, कुछ भी वापस नहीं करने से हैंडलबार्स को पहले लॉग के बाद पार्सिंग बंद करना पड़ा। – gfullam
Handlebars v3 बाहर मुद्रित करने के लिए अब लॉग सहायक में एक का निर्माण किया है निरीक्षण करने के लिए। आप एक टेम्पलेट के भीतर
{{log this}}
से कंसोल के लिए लॉग इन कर सकते तुम इतनी
Handlebars.logger.level = 0; // for DEBUG
मैं यह कर की तरह लॉगिंग स्तर सेट कर सकते हैं,
Handlebars.registerHelper('log', function(content) {
console.log(content.fn(this));
return '';
});
जो मुझे एक डिबगर कोड करने के लिए अनुमति देता है ब्लॉक, टेम्पलेटिंग सिस्टम का उपयोग करके मैं अंदर बैठ गया हूँ। इसलिए मैं इसे एक ब्लॉक दे सकता हूं और यह सामग्री को हल करेगा लेकिन इसे कंसोल.लॉग पर भेज देगा।
{{#log}} title is {{title}} {{/log}}
मैं भी स्वयं टेम्पलेट के अलावा और कुछ संपादित करने के लिए बिना मुझे फिर से प्रयोग करने योग्य कार्यात्मक ब्लॉक में मेरे टेम्पलेट सूख करने की इजाजत दी इस
$('script[type="text/x-handlebars-template"]').each(function(){
Handlebars.registerPartial(this.id,$(this).html());
});
जो मेरे सारे टेम्पलेट्स आंशिक रूप से उपलब्ध कराता है करते हैं, ।
तो मैं अब चीजों की तरह
{{#log}}Attribute listing {{>Attributes}}{{log}}
<script id="Attributes" type="text/x-handlebars-template">
{{#each attributes}}
{{@key}}={{this}}
{{/each}}
</script>
मैं हमेशा निम्नलिखित सहायक का उपयोग के साथ क्या कर सकते हैं: यह डेटा लॉग करता है और एक वैकल्पिक ब्रेकप्वाइंट कहते हैं। इस तरह से आप ब्राउज़र डीबगर ;-)
में वर्तमान Handlebars संदर्भ निरीक्षण कर सकते हैं पर https://gist.github.com/elgervb/5c38c8d70870f92ef6338a291edf88e9
/**
* Register a debug helper for Handlebars to be able to log data or inspect data in the browser console
*
* Usage:
* {{debug someObj.data}} => logs someObj.data to the console
* {{debug someObj.data true}} => logs someObj.data to the console and stops at a debugger point
*
* Source: https://gist.github.com/elgervb/5c38c8d70870f92ef6338a291edf88e9
*
* @param {any} the data to log to console
* @param {boolean} whether or not to set a breakpoint to inspect current state in debugger
*/
Handlebars.registerHelper('debug', function(data, breakpoint) {
console.log(data);
if (breakpoint === true) {
debugger;
}
return '';
});
- 1. एक हैंडलबार टेम्पलेट के भीतर बूलियन तर्क
- 2. हैंडलबार टेम्पलेट
- 3. हैंडलबार टेम्पलेट के भीतर इनलाइन जावास्क्रिप्ट
- 4. हैंडलबार टेम्पलेट में जावास्क्रिप्ट निष्पादित करें
- 5. मैं PostSharp विशेषताओं में तर्क कैसे जोड़ूं?
- 6. हैंडलबार टेम्पलेट्स के अंदर ऐरे की लंबाई कैसे खोजें?
- 7. मैं अपने जावास्क्रिप्ट फ़ंक्शन के लिए तर्क के रूप में console.log कैसे पास करूं?
- 8. Ember.js संदर्भ Grunt.js कैसे हैंडलबार टेम्पलेट precompiled?
- 9. टेम्पलेट तर्क टेम्पलेट तर्क
- 10. जावास्क्रिप्ट ब्लॉक के अंदर रूबी [पतला टेम्पलेट]
- 11. jquery टेम्पलेट के अंदर जावास्क्रिप्ट फ़ंक्शन
- 12. जावास्क्रिप्ट console.log कैप्चरिंग?
- 13. जावास्क्रिप्ट console.log/trace, आदि
- 14. उल्का - हैंडलबार टेम्पलेट को एसिंक्रोनस फ़ंक्शन लौटाएं?
- 15. console.log जावास्क्रिप्ट [समारोह]
- 16. कोणीय 2 टेम्पलेट का उपयोग console.log
- 17. उल्का/हैंडलबार में टेम्पलेट में लिखे गए पास सरणी
- 18. बिल्डरपटर के अंदर तर्क
- 19. टेम्पलेट तर्क
- 20. मैं जेएस एचटीएमएल फाइलों को एंगुलर 2 में एक टेम्पलेट में कैसे जोड़ूं (जैसे $ टेम्पलेट कैश)
- 21. हैंडलबार टेम्पलेट में बैकबोन मॉडल गुणों का उपयोग कैसे करें
- 22. सी ++ अनुमान टेम्पलेट अन्य टेम्पलेट तर्क के आधार पर तर्क
- 23. जावास्क्रिप्ट: "document.body.onresize" को बदलना "console.log"
- 24. टेम्पलेट तर्क
- 25. टेम्पलेट तर्क
- 26. जावास्क्रिप्ट console.log नई सुविधा 'कच्चे' के साथ?
- 27. टेम्पलेट कार्यों के लिए टेम्पलेट तर्क
- 28. टेम्पलेट वर्ग के अंदर टेम्पलेट विधि विशेषज्ञता
- 29. कैसे एक टेम्पलेट तर्क सूची
- 30. console.log
धन्यवाद मिले। यह काम! –
यह शायद बिल्टिन लॉग फ़ंक्शन को ओवरराइट करेगा, इसलिए अलग-अलग नाम चुना जाना चाहिए। या 'लॉग' के साथ काम करने के लिए Handlebars.logger.log को ओवरराइट किया जा सकता है (जो खाली है), लेकिन यह अन्य स्थानों में कुछ अवांछित लॉगिंग देता है। – user2846569