如何检查SASS地图是否已经存在,并且仅在不存在的情况下定义一个?
我尝试过:
@if ($myMap) {
// do someting
}
和
@if variable-exists($myMap) {
// do something
}
但是我收到错误“未定义的变量:“ $ myMap”? 我敢肯定这是很直率的,但是我似乎无法在线找到答案?
谢谢
答案 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 {
}