Проверьте, существует ли карта SASS

Как я могу проверить, существует ли карта SASS, и определить только одну, если это не так?

Я пытался:

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

а также

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

Но я получаю сообщение об ошибке "Неопределенная переменная: "$myMap"? Я уверен, что это довольно просто, но я не могу найти ответ в Интернете?

Спасибо

2 ответа

Это немного сбивает с толку, но при проверке существования переменной пропустите $, Вы также должны установить его как глобальную переменную, чтобы он не ограничивался только @if блок. Это работает:

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

// ... now you can use your variable

Вы можете установить, что карта будет существовать как ноль по умолчанию, что означает, что если она нигде не установлена ​​явно, то переменная все еще существует, но с нулевым значением. Затем вы можете проверить, является ли значение переменной нулевым, используя оператор if.

$myMap: null !default;

@if $myMap == null {
  
}

Другие вопросы по тегам