मेरे पास उल्का में तीन सरल टेम्पलेट्स हैं, और सर्वर पर उनके नामों के संयोजन के साथ संग्रह है। मैं इन टेम्पलेट्स को गतिशील रूप से प्रस्तुत करने में सक्षम होना चाहता हूं कि उनके नाम किस संग्रह में हैं।टेम्पलेट नामों के संग्रह से उल्का टेम्पलेट कैसे प्रस्तुत करें?
वर्तमान में मैं संग्रह का सब्सक्राइब करने के लिए क्लाइंट का उपयोग करके इसे पूरा करने की कोशिश कर रहा हूं, और टेम्पलेट फ़ंक्शन के माध्यम से नामों तक पहुंच सकता हूं। दुर्भाग्यवश, यदि मैं नाम पर ">" चलाने का प्रयास करता हूं, तो उल्का टेम्पलेट के बजाय वैरिएबल नाम प्रस्तुत करने का प्रयास करता है।
तो, Template1 में एचटीएमएल प्रतिपादन template2, और template3 के बजाय, उत्पादन केवल पृष्ठ पर उनके नाम है: "Template1 template2 template3"।
यहां कोड है जिसका उपयोग मैं कर रहा हूं, मुझे आशा है कि मेटीर को मैन्युअल रूप से चलाने के बिना मेरे मुद्दे को हल करने का कोई तरीका है।
सर्वर js:
TemplatesToRender = new Meteor.Collection("templatesToRender");
TemplatesToRender.insert({templateName: "template3"});
TemplatesToRender.insert({templateName: "template2"});
क्लाइंट HTML:
<body>
{{#each templatesToRender}}
{{> templateName}} // meteor trying to render a template
// called "templateName" instead of the
// variable inside templateName.
{{/each}}
</body>
<template name="template1">
<span>Template 1</span>
</template>
<template name="template2">
<span>Template 2</span>
</template>
<template name="template3">
<span>Template 3</span>
</template>
+1 महान समाधान! – Marc
यह वही है जो मैं ढूंढ रहा हूं, धन्यवाद! –
यहां समस्या स्मृति प्रबंधन है, वह टेम्पलेट को बार-बार उत्पन्न कर रहा है क्योंकि आप 'टेम्पलेट [नाम]()' फ़ंक्शन को कॉल करते हैं। यह विधि अच्छी है, लेकिन प्रतिस्थापित होने पर टेम्पलेट को ठीक से न हटाएं। मैं इसे परीक्षक करता हूं, और आप कुछ tousand fivs को डालने और हटाने के बाद, आपको 50 एमबी मेमोरी स्टैकिंग मिलती है! 2014 के लिए –