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