检查是否存在SASS Map

时间:2018-07-12 12:36:35

标签: sass sass-maps

如何检查SASS地图是否已经存在,并且仅在不存在的情况下定义一个?

我尝试过:

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

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

但是我收到错误“未定义的变量:“ $ myMap”? 我敢肯定这是很直率的,但是我似乎无法在线找到答案?

谢谢

2 个答案:

答案 0 :(得分:2)

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

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

// ... now you can use your variable

答案 1 :(得分:0)

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

$myMap: null !default;

@if $myMap == null {
  
}