मैं JSRender सीखने की कोशिश कर रहा हूं। क्या किसी शर्त के आधार पर उप टेम्पलेट को प्रस्तुत करना संभव है? जैसे अगर #index = 1 या 2, टेम्पलेट A को रेंडर करें, यदि 3 या 4, टेम्प्लेट B को रेंडर करें?
उत्तर:
उत्तर № 1 के लिए 1यहाँ सही सिंटैक्स है - और नीचे कुछ प्रलेखन लिंक।
<script id="tmplFeaturePanel1" type="text/x-jsrender">
{{for List}}
{{if #index == 1 || #index == 2}}
{{include tmpl="#test1or2"/}}
{{else #index === 3 || #index === 4 }}
{{include tmpl="#test3or4"/}}
{{else}}
{{include tmpl="#testOther"/}}
{{/if}}
{{/for}}
</script>
या इससे भी अधिक कॉम्पैक्ट सिंटैक्स जो केवल एक ही काम करता है:
<script id="tmplFeaturePanel2" type="text/x-jsrender">
{{for List}}
{{if #index == 1 || #index == 2 tmpl="#test1or2"}}
{{else #index === 3 || #index === 4 tmpl="#test3or4"/}}
{{else tmpl="#testOther"/}}
{{/if}}
{{/for}}
</script>
जहां दोनों मामलों में संदर्भित टेम्पलेट हो सकते हैं:
<script id="test1or2" type="text/x-jsrender">
1or2 {{:name}}
</script>
<script id="test3or4" type="text/x-jsrender">
3or4 {{:name}}
</script>
<script id="testOther" type="text/x-jsrender">
Other: {{:name}}
</script>
देख
- http://www.jsviews.com/#samples/jsr/composition/tmpl
- http://www.jsviews.com/#iftag
- http://www.jsviews.com/#includetag
BTW ध्यान दें कि {{elseif ...}}
या {{else if ...}}
सही सिंटैक्स नहीं है। असल में {{else someExpression}}
एक हकीकत के रूप में काम करता है। {{else}}
एक और के रूप में काम करता है।