2

如何检查 SASS Map 是否已经存在,如果不存在则仅定义一个?

我努力了:

@if ($myMap) {
// do someting
}

@if variable-exists($myMap) {
// do something
}

但我收到错误“未定义变量:”$myMap”?我确定这很简单,但我似乎无法在线找到答案?

谢谢

4

2 回答 2

2

这有点令人困惑,但是在检查变量是否存在时,请跳过$. 您还需要将其设置为全局变量,这样它就不会仅限于@if块。这有效:

@if variable-exists(myMap) == false {
  $myMap: (
    1: "foo",
    2: "bar"
  ) !global;
}

// ... now you can use your variable
于 2018-07-16T20:23:47.540 回答
0

您可以将映射设置为默认存在为 null,这意味着如果未在任何地方显式设置它,则该变量仍然存在但具有 null 值。然后,您可以使用 if 语句检查变量的值是否为空。

$myMap: null !default;

@if $myMap == null {
  
}

于 2018-07-12T14:12:25.577 回答