5

我正在为 node.js 使用玉。我有 1 个 mixin(测试):

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

我需要在 mixin 中加入一些 html 代码,例如:

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

我要那个:

<div id="test">
  <div class="field"><a href="http://test">test</a></div>
  <div class="field2"><span class="description">bla bla bla</span></div>
</div>

我怎么可能这样做?现在我只知道一个丑陋的决定:

#test
  - var field = '<a href="http://test">test</a>';
  - var field2 = '<span class="description">' + descriptions + '</span>';
  mixin some( field, field2 )

对不起,我的英语不好 :)

4

2 回答 2

1

看起来您当前的解决方案是唯一的方法。mixin 的参数是 javascript 表达式,而不是玉元素。

于 2011-10-26T03:51:44.710 回答
1

实际上你也可以将 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

我知道这个问题很老了。留下回复,以便其他人可能会发现它有帮助。

于 2015-04-16T13:38:56.713 回答