наследование шаблонов javascript - PullRequest
11 голосов
/ 07 сентября 2010

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

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

Ответы [ 7 ]

5 голосов
/ 15 мая 2014

Если вы хотите наследовать шаблон и синтаксис DTL, вам нужно: Nunjucks :

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

0 голосов
/ 15 сентября 2012

Идет работа над добавлением наследования шаблонов к Рукам .

Посмотрите эту довольно недавнюю проблему GitHub: https://github.com/wycats/handlebars.js/issues/208
И этот пост: Наследование шаблонов для руля

0 голосов
/ 15 сентября 2012

Да, с 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?

0 голосов
/ 01 апреля 2012

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

0 голосов
/ 15 ноября 2011

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

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

0 голосов
/ 10 августа 2011

Шаблон jQuery имеет тег шаблона {{wrap}}, который похож на расширение:

http://api.jquery.com/template-tag-wrap/

0 голосов
/ 08 сентября 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...