/ / JSRender - как да подреждате под-шаблон условно - javascript, jquery, jsrender

JSRender - как да подреждате под-шаблон условно - javascript, 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}} работи като нещо друго.