Есть ли способ преобразовать строку в вызов переменной, используя SASS?Я создал функцию, чтобы проверить, была ли определена переменная.Если он был определен, он должен вернуть значение этой переменной.В противном случае он должен вернуть мое значение по умолчанию.См. Пример кода:
@function asset-var-exists($variable, $desiredResult) {
$returnedValue: $desiredResult;
@if variable-exists($variable) {
$returnedValue: $variable;
}
@return $returnedValue;
}
В этом случае первый аргумент ($variable
) будет возвращен как строка, но не значение этой переменной.Что вполне логично, поскольку использование функции выглядит следующим образом:
$color-green: #228B22;
background: something-var-exists(color-green, #008000);
Таким образом, результат something-var-exists(color-green, #008000)
равен color-green
.Я хотел бы, чтобы вместо него возвращалось значение $color-green
, которое было бы #228B22
.
Возможно ли это?
-
Меня спросиличтобы определить, почему этот вопрос не является дубликатом (я на самом деле не вижу связи между моим и этим вопросом): Динамическое создание или обращение к переменным в Sass
- Вопросвыше основан на статическом префиксе ($ foo-).У меня нет статического префикса, поэтому нет точки ориентации, чтобы «преобразовать» мою строку в вызов переменной.Написав «$ foo», вы уже интерпретируете, что существует переменная.В моем случае я не могу этого сделать.У меня есть только строка, ничего больше.
- Ответ основан на уже определенных / известных значениях.В моем примере их нет.Поскольку мой стиль полностью динамичен и должен использоваться в любом sass-проекте.
- Вопрос не содержит никакой проверки, чтобы увидеть, существует ли переменная