Джейд, миксин и html

#node.js #mixins #pug

#node.js #миксины #мопс

Вопрос:

Я использую Джейд для node.js. У меня есть 1 миксин(тест):

 mixin some( field, field2 )  .field!= field  .field2!= field2  

Мне нужно вставить в микс какой-нибудь html-код, пример:

 #test  some( a( href='http://test' )='test', span.description=description )  

Я хочу этого:

 lt;div id="test"gt;  lt;div class="field"gt;lt;a href="http://test"gt;testlt;/agt;lt;/divgt;  lt;div class="field2"gt;lt;span class="description"gt;bla bla blalt;/spangt;lt;/divgt; lt;/divgt;  

Как я могу это сделать? Теперь я знаю только 1 уродливое решение:

 #test  - var field = 'lt;a href="http://test"gt;testlt;/agt;';  - var field2 = 'lt;span class="description"gt;'   descriptions   'lt;/spangt;';  mixin some( field, field2 )  

Извините, за мой плохой английский 🙂

Ответ №1:

Похоже, ваше текущее решение-единственный выход. Параметры для миксинов-это выражения javascript, а не элементы jade.

Ответ №2:

На самом деле вы также можете передать разметку Jade в mixin

 mixin article(title)  .article  .article-wrapper  h1= title  if block  block  else  p No content provided   article('Hello world')   article('Hello world')  p This is my  p Amazing article  

Я знаю, что этот вопрос довольно старый. Оставляю ответ, чтобы кто-то другой мог найти его полезным.