🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
当混合宏需要处理数量不明的参数时,通常使用 `arglist` 而不是列表。可以认为 `arglist` 是 Sass 中隐藏而未被记录的第八个数据类型,通常当需要任意数量参数的时候,被隐式使用到参数中含有 `...` 标志的混合宏和函数中。 ~~~ @mixin shadows($shadows...) { // type-of($shadows) == 'arglist' // ... } ~~~ 现在,当要建立一个接收多个参数(默认为 3 或者更多)的混合宏时,在将它们合并为列表或者 map 之前,要反复考量这样做是否比一个个的单独存在更易于使用。 Sass 的混合宏和函数声明非常智能,你只需给函数/混合宏一个列表或 map,它会自动解析为一系列的参数。 ~~~ @mixin dummy($a, $b, $c) { // ... } // Yep @include dummy(true, 42, 'kittens'); // Yep but nope $params: (true, 42, 'kittens'); $value: dummy(nth($params, 1), nth($params, 2), nth($params, 3)); // Yep $params: (true, 42, 'kittens'); @include dummy($params...); // Yep $params: ( 'c': 'kittens', 'a': true, 'b': 42, ); @include dummy($params...); ~~~ ## 扩展阅读 * [Sass Multiple Arguments, Lists or Arglist](http://www.sitepoint.com/sass-multiple-arguments-lists-or-arglist/)