Включить SASS Mixin через другое значение параметра Mixin

У меня есть это:

введите здесь описание изображения

Как видите, в настоящее время у меня есть условное условие для включения миксинов в стиле кнопок. Могу ли я в любом случае автоматически включить его? Например:

@mixin button($color)
  @include button-#{$color}

person daryl    schedule 11.04.2012    source источник


Ответы (1)


Увидев вашу разметку выше, я предполагаю, что вы уже пробовали интерполяцию, и она не работает. Просто мысль - не будет ли extend более подходящим в этот контекст? т. е. расширить отдельные button-* примеси с определенной округлостью.

При этом у вас уже есть кнопка $color с параметрами, но вы делаете шаг назад, добавляя дополнительный уровень сложности с включением предопределенного миксина в зависимости от значения переменной! Я предполагаю, что вы начали с button-blue...button-tree примесей, а затем возникла потребность в переключателе $circle?

Если вы на самом деле используете button-blue...button-tree вне миксина button, я бы сказал, что было бы наиболее удобно иметь логику переключения «множественные если», абстрагированную один раз в директиву функции, например

@function include-button-mixin($color) {
  @if $color == blue
    @include button-blue
  ...
}
person Oleg    schedule 11.04.2012