Sass: карта со знаками доллара в качестве параметра mixin

Я действительно не уверен, что это возможно, но я решил спросить. По сути, я пытаюсь создать карту конфигурации mixin. Мне нужно передать эту карту нескольким различным миксинам... по сути, эта карта содержит базовые свойства, которые я хочу использовать для каждого миксина, и оттуда, возможно, я могу добавить различные свойства, но я не хочу дублировать строки кода, Я собираюсь показать, что я хочу сделать, но в настоящее время это недопустимо, так как компилятор пытается проанализировать имена свойств из-за присутствия $, который я пытался избежать, но это тоже не сработало.

$content: (
  $ui: 'blue-glyph',
  $glyph-color: blue
);

@include extjs-button-small-ui($content);
@include extjs-button-medium-ui($content);
@include extjs-button-large-ui($content);

Вместо того, чтобы делать:

@include extjs-button-small-ui(
  $ui: 'blue-glyph',
  $glyph-color: blue
);
@include extjs-button-medium-ui(
  $ui: 'blue-glyph',
  $glyph-color: blue
);
@include extjs-button-large-ui(
  $ui: 'blue-glyph',
  $glyph-color: blue
);

В моей реальной кодовой базе, $content гораздо больше... Я просто хотел показать, что я хотел сделать. Моей первой попыткой было использовать @each с названиями mixin, но, видимо, когда вы используете @include, он ожидает идентификатор, и переменная не может использоваться для этого (как отмечено в этом ответе). Затем я начал смотреть на @content, но я не уверен, что это правильный путь для этого тоже.

Приятно отметить, что мои миксины взяты из определенных миксинов Ext JS, расположенных здесь, и я не могу использовать широкий extjs-button-ui mixin, так как этот не масштабируется.

Любое понимание будет высоко ценится!

0 ответов

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