參數(shù)列表

2018-02-24 15:11 更新

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

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

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

Sass 的混合宏和函數(shù)聲明非常智能,你只需給函數(shù)/混合宏一個(gè)列表或 map,它會(huì)自動(dòng)解析為一系列的參數(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...);

擴(kuò)展閱讀

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

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)