我正在将mixin用于主题目的。
_var.scss(在src位置)
$themes:(
default:(
primaryLight:#3c5689
),
lightBlue:(
primaryLight:#3c5689
) ); /* * Implementation of themes */ @mixin themify($themes) {
@each $theme, $map in $themes {
.theme-#{$theme} & {
$theme-map: () !global;
@each $key, $submap in $map {
$value: map-get(map-get($themes, $theme), '#{$key}');
$theme-map: map-merge($theme-map, ($key: $value)) !global;
}
@content;
$theme-map: null !global;
}
} }
@function themed($key) {
@return map-get($theme-map, $key); }
我正在尝试从style.scss进行如下调用。这是工作。但是我不能从组件内部调用。
header {
@include themify($themes) {
background: themed('primaryLight');
}
}
我如何从另一个组件CSS调用此混合。(我已经提供了@import参考)