मैं मूंछ स्वरूपण पैटर्न के साथ रीढ़ की हड्डी के अंडरस्कोर टेम्पलेटिंग इंजन का उपयोग कर रहा हूं।बैकबोन/अंडरस्कोर टेम्पलेट मूंछ प्रारूप में # पाउंड/हैश प्रतीक पर त्रुटि उत्पन्न कर रहा है?
मैं प्रोजेक्ट में कहीं और सफलतापूर्वक इसका उपयोग कर रहा हूं लेकिन अब पहली बार मैं मूंछ से लूपिंग सूची पैटर्न का उपयोग कर रहा हूं ताकि टेम्पलेट को पॉप्युलेट कर सकूं जो एक त्रुटि को फेंक रहा है जिसे मैं थोड़ा परेशान कर रहा हूं। क्रोम में त्रुटि है:
सुझाव:
"Uncaught SyntaxError: Unexpected token ILLEGAL"
और अंक के पश्व-अनुरेखन, जो बहुत बेकार है लेकिन फ़ायरबग में मैं इस तरह की एक और अधिक उपयोगी त्रुटि मिलती है में रेखांकित करने टेम्पलेट समारोह कि हैश प्रतीक '#' मुद्दा है, जो समझ में आता है क्योंकि मुझे पता है कि मूंछ ठीक काम कर रहा है क्योंकि प्रोजेक्ट के कई अन्य हिस्सों में इसका उपयोग कर रहा है, यह भी पहली बार है कि मैं हैश सिबोल का उपयोग कर रहा हूं मेरे टेम्पलेट्स। यह लूपिंग फीचर या इंटरपोल के साथ या तो एक समस्या की तरह दिखता है अंडरस्कोर के लिए टयन/टेम्पलेट सेटिंग्स।
यहाँ मेरी टेम्पलेट के प्रासंगिक टुकड़ा है:
<div class="thumblist thumblistleft" id="currentprojectslist">
<div class="thumb-list-header">
<h2>current projects</h2>
</div>
<div class="thumb-list-area">
<ol>
{{#worklist}} <!----- LOOK HERE --->
{{#current}}
<li><a>{{title}}</a></li>
{{/current}}
{{/worklist}}
</ol>
</div>
</div>
और यहाँ JSON का एक नमूना (जो सब ठीक सत्यापित करता है)
{blah blah blah lot in here before,"worklist":[{"thumb":"img/project-s.jpg","id":"340","title":"Test Project One","desc":"big load of content here","current":true}], and so on....}
मैं शुरू में यहां संदर्भ के लिए इस उदाहरण पीछा कर रहा था है: http://mustache.github.com/#demo
अब यहां समस्या है कि मुझे लगता है कि समस्या हो सकती है:
Underscore.js एक मूंछें टेम्पलेट प्रतिपादन से पहले इस का उपयोग कर पता चलता है:
_.templateSettings = {
evaluate : /\{\[([\s\S]+?)\]\}/g,
interpolate : /\{\{([\s\S]+?)\}\}/g
};
भी:
interpolate : /\{\{(.+?)\}\}/g
इसके अलावा बस लगाना बयान, Ive दोनों की कोशिश की। हालांकि मेरा रेगेक्स ज्ञान वास्तव में खराब है और मुझे लगता है कि यह हैश को समायोजित नहीं कर सकता है? किसी भी दर पर .... मैं पूरी तरह से स्टंप हूँ। क्या कोई मेरी मदद कर सकता है?
क्या यह इस तरह लूप करना भी संभव है? अंडरस्कोर स्रोत को देखकर मुझे यकीन नहीं कर रहा हूँ: http://documentcloud.github.com/underscore/docs/underscore.html#section-120
बहुत
पैटर्न '/ \ {\ {([\ s \ S] +?) \} \}/g'' {{# foo}} 'और' # foo' पर कब्जा करें। आप '/ \ {\ {#? ([\ S \ S] +?) \} \}/G' का उपयोग कर हैश को कैप्चर करने से बच सकते हैं, मुझे लगता है कि इससे अन्य समस्याएं पैदा होंगी। – Qtax
क्या आपने कभी इस तरह लूप का प्रबंधन किया था? मैं वास्तव में चाहूंगा कि, मेरे JSON में एक ध्वज मौजूद है या नहीं, यह जांचने के लिए एकाधिक मूल्यांकन लाइनों में एक साधारण लिखने के लिए अंडरस्कोर में बहुत परेशान है। – Daniel
अरे, दुख की बात है कि अंडरस्कोर इसे मूल रूप से नहीं करेगा, आपको mustache.js को शामिल करना होगा और mustache.render करना होगा, जैसा कि नीचे है .. यह वास्तव में परेशान है कि मैं – Alex