Подтвердить что ты не робот

Наследование шаблона javascript

В структуре Django шаблоны веб-страниц могут наследоваться от других шаблонов. В шаблоне вашего ребенка вы определяете блоки кода, которые переопределяют аналогичные блоки в родительских шаблонах. Я предполагаю, что есть и другие серверные системы шаблонов, которые также работают таким образом, но Django - это тот, с которым я знаком.

Может ли какая-либо из существующих систем шаблонов javascript поддерживать наследование типа django?

4b9b3361

Ответ 1

Что вы ищете, если хотите наследование шаблона и синтаксис DTL, Nunjucks:

http://mozilla.github.io/nunjucks/

Ответ 2

У Mustache.js есть поддержка partials, которые работают аналогичным образом. Кроме этого, я не смог ничего найти - может быть, я это сделаю...

* Хорошо, они совсем не похожи на шаблоны Django, но они - самый близкий симулякр, который я мог найти.

Ответ 4

Хотя это не "наследование шаблонов", но Beard.js может помочь вам повторно использовать шаблон, создав ссылки на шаблоны, которые, я думаю, помогут вам достичь той же цели.

http://jspopisno1.github.com/Beard/#exmp_syntax-reference

Ответ 5

Посмотрите Handlebars.js. Это позволяет вам определять вспомогательные методы, которые можно использовать для разделения различных блоков, и эхо-сигналы, аналогичные Rails 'content_for :my_area и yield :my_area.

Ответ 6

Да, с Dustjs, вы можете иметь шаблон, наследующий основную часть его содержимого из общего базового шаблона. Вот как это работает: Dustjs: (см. Раздел "Блоки и встроенные частицы" )

В файле "base_template":

Start
{+title/}
Middle
{+main/}
End

Шаблон, который "наследует" base_template:

{>base_template/}
{<title}
  Child Title
{/title}
{<main}
  Child Content
{/main}

Результаты в чем-то вроде:

Start
Child Title
Middle
Child Content
End

Связанный вопрос: поддерживается только 1 уровень наследования: Есть ли способ сделать более одного уровня переопределения значений наследования с помощью dust.js?