我有以下混合:
.iconFont(@color: @green, @font-size: 18px){
color: @color;
font-size: @font-size;
}
如果我只想更改第二个变量值,我需要编写第一个变量默认值吗?
h1{
.iconFont(@green, 14px);
}
最佳答案
不,调用函数时无需指定第一个参数的默认值。相反,您可以只使用 named parameters显式让编译器知道您在 mixin 调用中传递的值是第二个参数的功能。
.sample{
.iconFont(@font-size:14px);
}
上面的 Less 代码编译后会产生以下输出。 (注意:我已将 @green
设置为 #00ff00
。)
.sample {
color: #00ff00;
font-size: 14px;
}
使用命名参数功能时,即使参数传递的顺序也无关紧要。例如,可以按如下方式调用相同的 mixin:
.sample2{
.iconFont(@font-size:24px, @color: #070707);
}
它会产生以下输出。
.sample2 {
color: #070707;
font-size: 24px;
}
关于更少的 mixin 和变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25787882/