Jade mixin默认参数



我在Jade中有以下混音:

mixin indicator(slide_to, active)
  - active = active || '' // this is an ugly method to create a default value
  li(class=active, data-target='#' + CAROUSEL_ID, data-slide-to=slide_to)

我这样称呼它:

+indicator(1) 
+indicator(2, 'active')

我希望参数active的默认值为''。我发现了一个丑陋的解决方法,如我的代码示例所示。在Jade有更好的方法吗?

此示例:

mixin test(slide_to, active)
    li(class=active, data-slide-to=slide_to)
+test('a')
+test('a', 'b')

为我编译成这个HTML:

<li data-slide-to="a"></li>
<li data-slide-to="a" class="b"></li>

我用的是Jade 0.35.0。

杰德不会添加虚假的价值观。您可以在分章"布尔属性"中的Jade参考中阅读此内容。

答案需要更新,因为这在今天显然是可能的。

mixin test(slide_to= 'a', active='')
  li(class=active, data-slide-to=slide_to)
+test()
+test('b')
+test('c', 'active')

为我编译成这个HTML:

<li class="" data-slide-to="a"></li>
<li class="" data-slide-to="b"></li>
<li class="active" data-slide-to="c"></li>

最新更新