避免";没有名为“的参数”;Sass混合中的错误
我想知道我需要如何编写SASS mixin,它接受一个定义的参数列表和默认值,并忽略所有其他参数。基本上,我想知道如何更改避免";没有名为“的参数”;Sass混合中的错误,sass,Sass,我想知道我需要如何编写SASS mixin,它接受一个定义的参数列表和默认值,并忽略所有其他参数。基本上,我想知道如何更改@mixin dummy,这样它就不会向我抛出“mixin dummy没有名为$xyz的参数”错误 使用arglist获取mixin参数: @mixin dummy( $a: true, $c: auto, $args... ) { height:#{map-get($params,xyz)}; } $params: ( a: false, xyz:
@mixin dummy
,这样它就不会向我抛出“mixin dummy没有名为$xyz的参数”错误
使用arglist获取mixin参数:
@mixin dummy(
$a: true,
$c: auto,
$args...
) {
height:#{map-get($params,xyz)};
}
$params: (
a: false,
xyz: 'auto'
);
.dummy{
@include dummy($params);
}
/*Outputs*/
.dummy {
height: auto;
}
将
..
附加到$params
以将其展开到args列表中
$params: (
a: false,
xyz: 'auto'
);
.dummy{
@include dummy($params...);
}
您也可以将其内联
.dummy{
@include dummy((
a: false,
xyz: 'auto'
)...);
}
更多关于的信息,这并没有真正达到预期效果。如果我在代码中
@debug$a
,它不会返回false,而是(a:false,xyz:'auto')
,因此我无法访问默认值。我在这个问题上做了一些调查,我认为我根本无法达到我想要达到的目标。不过还是要感谢您的帮助=)我的解决方案是使用默认值null
简单地定义所有可能的命名参数,以避免出现错误。
.dummy{
@include dummy((
a: false,
xyz: 'auto'
)...);
}