Включают Сасс миксин через другой параметр подмешать


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

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

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

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

1 ответ:

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

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

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

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