參數(shù)列表

2018-02-24 15:11 更新

當(dāng)混合宏需要處理數(shù)量不明的參數(shù)時,通常使用?arglist?而不是列表。可以認(rèn)為?arglist?是 Sass 中隱藏而未被記錄的第八個數(shù)據(jù)類型,通常當(dāng)需要任意數(shù)量參數(shù)的時候,被隱式使用到參數(shù)中含有?...?標(biāo)志的混合宏和函數(shù)中。

@mixin shadows($shadows...) {
  // type-of($shadows) == 'arglist'
  // ...
}

現(xiàn)在,當(dāng)要建立一個接收多個參數(shù)(默認(rèn)為 3 或者更多)的混合宏時,在將它們合并為列表或者 map 之前,要反復(fù)考量這樣做是否比一個個的單獨存在更易于使用。

Sass 的混合宏和函數(shù)聲明非常智能,你只需給函數(shù)/混合宏一個列表或 map,它會自動解析為一系列的參數(shù)。

@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...);

擴展閱讀

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號