通过另一个Mixin参数值包含SASS Mixin

3
我有这个:

enter image description here

如您所见,我目前有一个条件来包含按钮样式的mixin,是否有任何方式可以自动地包含其中一个?例如:
@mixin button($color)
  @include button-#{$color}
1个回答

1

看到你上面的标记,我猜想你已经尝试过插值,但没有成功。不过我有一个想法——在这种情况下,使用extend是否更合适呢?也就是说,使用特定的圆角扩展单个button-* mixin。

话虽如此,你已经将按钮$color参数化了,但是你又增加了一个额外的复杂度层次,根据变量值包含预定义的mixin!我猜你是从button-blue...button-tree mixins开始的,然后出现了需要$circle切换的要求?

如果你确实在button mixin之外使用button-blue...button-tree,那么我建议将“多重if”开关逻辑抽象为一个函数指令,例如

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接