我对玉很陌生,我有以下问题。有这个(简化的)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)
我在这里缺少什么?提前致谢。
阿米鲁
来自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)