在一个模板中多次使用玉块mixin

ami*_*roo 5 block mixins pug

我对玉很陌生,我有以下问题。有这个(简化的)mixin:

mixin someMixin()
   .someClass 
      block first
   .otherClass 
      block second
Run Code Online (Sandbox Code Playgroud)

现在我在一个模板中多次尝试使用这个 mixin。像这样。

+someMixin()
   block first
      div First Block of first Mixin
   block second
      div Second Block of first Mixin

+someMixin()
   block first
      div First Block of second Mixin
   block second
      div Second Block of second Mixin
Run Code Online (Sandbox Code Playgroud)

结果只使用了第一个 mixin 的块。像这样

<div class="someClass">First Block of first Mixin</div>
<div class="otherClass">Second Block of first Mixin</div>

<div class="someClass">First Block of first Mixin</div>
<div class="otherClass">Second Block of first Mixin</div>
Run Code Online (Sandbox Code Playgroud)

我期待这样的结果:

<div class="someClass">First Block of first Mixin</div>
<div class="otherClass">Second Block of first Mixin</div>

<div class="someClass">First Block of second Mixin</div>
<div class="otherClass">Second Block of second Mixin</div>
Run Code Online (Sandbox Code Playgroud)

我在这里缺少什么?提前致谢。

阿米鲁

KZe*_*Zee 3

来自http://jade-lang.com/reference/inheritance/

块只是 Jade 的“块”,可以在子模板中替换。

如果你想在 mixin 中使用不同的数据,请使用变量:

mixin someMixin(a, b)
    div.someClass #{a}
    div.otherClass #{b}

+someMixin("1-1", "1-2")
+someMixin("2-1", "2-2")
Run Code Online (Sandbox Code Playgroud)

结果:

<div class="someClass">1-1</div>
<div class="otherClass">1-2</div>
<div class="someClass">2-1</div>
<div class="otherClass">2-2</div>
Run Code Online (Sandbox Code Playgroud)