Jade mixin默认参数

时间:2013-11-22 07:53:27

标签: pug

我在Jade中有以下mixin:

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有更好的方法吗?

2 个答案:

答案 0 :(得分:6)

这个例子:

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不会添加虚假值。您可以在子章节布尔属性中的Jade reference中阅读此内容。

答案 1 :(得分:1)

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

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>