JsRender - Как визуализировать шаблон из шаблона?

Как я могу визуализировать шаблон из шаблона в JSRender? В предыдущем шаблоне jquery я мог использовать

{{tmpl(Languages) "#languageTemplate"}}

В JSRender я мог найти примеры композиции шаблонов в условных операторах и циклах. Я хочу вызвать шаблон самостоятельно.


person Joyce Babu    schedule 13.05.2012    source источник


Ответы (2)


В JsRender

{{для языков tmpl="#languageTemplate"/}}

более или менее точно эквивалентен следующему в шаблонах jQuery

{{tmpl(Языки) "#languageTemplate"}}

В каждом случае, если Languages ​​является массивом, languageTemplate будет отображаться один раз для каждого элемента, но если Languages ​​не является массивом, шаблон будет отображаться один раз.

person BorisMoore    schedule 13.05.2012
comment
Привет Борис. Он не работает (я использую последний код «предбета-счетчик коммитов 9» из github). Как я могу передать текущую область переменных в подшаблон? - person Joyce Babu; 13.05.2012
comment
Следующий код работал {{for #data tmpl="#languageTemplate"/}}. Это правильное использование? Кроме того, текущая версия является бета-версией? Я прочитал ваш мартовский комментарий о том, что JSRender находится в стадии бета-тестирования. Но на странице проекта написано, что это все еще предварительная бета-версия. - person Joyce Babu; 13.05.2012
comment
Да, это правильно для текущего синтаксиса. (Теперь обновлено выше). Текущий API JsRender очень близок к бета-версии, но он еще официально не является бета-версией и не будет до тех пор, пока JsViews также не достигнет стабильной бета-версии API. - person BorisMoore; 28.06.2012
comment
@BorisMoore Как вы думаете, вы могли бы помочь с этим вопросом: stackoverflow.com/questions/19100184/ - person eddy; 30.09.2013

Одно обновление к ответу Бориса. В последней документации Бориса вам нужно добавить «tmpl=» перед именем шаблона в цикле for, чтобы ссылаться на шаблон внутри шаблона. Таким образом, окончательный вариант будет таким:

{{для языков tmpl="#languageTemplate"/}}

См. его демонстрацию, чтобы найти больше информации.

person tennisgent    schedule 26.05.2012
comment
Да, спасибо, это правильно. Отредактировано/исправлено в моем ответе выше. - person BorisMoore; 28.06.2012