jsrender: вложенные шаблоны с {{each}} - PullRequest
0 голосов
/ 14 февраля 2012

У меня есть этот фрагмент кода в моем шаблоне:

{{each(i, service) package_services}}
                <tr>
                    <td class="mini2">${service.name}</td>
                    <td class="mini2 right">${service.price}</td>
                    <td class="mini2 right" >${service.duration}</td>
                    <td class="mini2 right" >${service.max_products}</td>
                    <td class=""><a href="#" rel="" class="remove_package_service tipsyn" title="Odstrani moderatorja"><img src="/media/icons/no_14.png" /></a></td>
                </tr>
{{/each}}

, и я также определил этот под-шаблон:

<script id="row_tmpl_package_service" type="text/x-jquery-tmpl">
    <tr>
        <td class="mini2">${service.name}</td>
        <td class="mini2 right">${service.price}</td>
        <td class="mini2 right">${service.duration}</td>
        <td class="mini2 right">${service.max_products}</td>
        <td class=""><a href="#" rel="" class="remove_package_service tipsyn" title="Odstrani moderatorja"><img src="/media/icons/no_14.png" /></a></td>
    </tr>
</script>

как я могу использовать уже предопределенный шаблон, чтобы я выигралне нужно повторять код?

Я пытался

{{each package_services tmpl="#row_tmpl_package_service"}}

, но, конечно, это не работает, так как в шаблоне я использую {{service.name}} и {{service.price}} так как я могу сказать «каждому», что у меня есть дополнительное пространство имен?

1 Ответ

0 голосов
/ 14 февраля 2012

Для этого используйте тег "tmpl", а не такой атрибут, как:

{{each(i, service) package_services}}
    {{tmpl({'service': service}) "#row_tmpl_package_service"}}
{{/each}}

Если это не работает в вашей конфигурации, попробуйте настроить jsfiddle на примеретвой код =).

...