我无法理解一些语法用法。我有一个简单的mixin和默认参数:
@red: #ff4136;
@blue: #00aef9;
@green: #01ff70;
@yellow: #ffdc00;
.paint(@color: @yellow, @height:100px, @width:200px) {
background-color: @color;
height: @height;
width: @width;
}
.monster-happy {
.paint(@color, 100px, 10px);
}
我想只更改第一个和最后一个默认参数,我不想更改中间参数,例如:
.monster-happy {
.paint(@red, @height, 10px);
}
但它不起作用。我应该如何纠正它以及有什么更好的方法呢?
答案 0 :(得分:1)
我相信你可以忽略你想要使用默认值的值,然后在参数的下面显式定义任何参数。
.monster-happy {
.paint(@red, @width: 10px);
}
这是因为你的mixin会检查传入的值,以便你传递它们。它总是首先要求颜色,这就是我们可以使用@red
的原因,但由于省略了高度,我们必须明确声明下一个值是@width
属性。