/ / JSRender - सशर्त रूप से एक उप-टेम्पलेट कैसे प्रस्तुत करें - जावास्क्रिप्ट, jquery, jsrender

JSRender - सशर्त रूप से उप-टेम्पलेट कैसे प्रस्तुत करें - जावास्क्रिप्ट, jquery, jsrender

मैं 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>

देख

BTW ध्यान दें कि {{elseif ...}} या {{else if ...}} सही सिंटैक्स नहीं है। असल में {{else someExpression}} एक हकीकत के रूप में काम करता है। {{else}} एक और के रूप में काम करता है।