Sass SCSS mixin动态类名计算时不带引号

Sass SCSS mixin动态类名计算时不带引号,sass,styling,mixins,scss-mixins,Sass,Styling,Mixins,Scss Mixins,我正在使用以下SCSS混音器 @mixin QuintIcon($path, $name, $color) { ion-icon { &[class*=#{quote($name)}] { mask-image: url($path); color: #{$color}; } } } @include QuintIcon("../../assets/img/tabs/rings.svg", "quint-ring", "#FFF");

我正在使用以下SCSS混音器

@mixin QuintIcon($path, $name, $color) {
  ion-icon {
    &[class*=#{quote($name)}] {
      mask-image: url($path);
      color: #{$color};
    }
  }
}

@include QuintIcon("../../assets/img/tabs/rings.svg", "quint-ring", "#FFF");
我期待以下结果

ion-icon[class*="quint-ring"] {
  mask-image: url("../../assets/img/tabs/rings.svg");
  color: #FFF;
}
然而我得到了这个

ion-icon[class*=quint-ring] {
  mask-image: url("../../assets/img/tabs/rings.svg");
  color: #FFF;
}
解释 这两个代码块之间的差异在“=”符号后面的第一行。我希望该值计算为带引号的字符串,但事实并非如此,即使我使用了。我把它插入了爱奥尼亚,但这与造型无关,它只使用引号

做实验 您可以在

处使用

@mixin QuintIcon($path, $name, $color) {
  ion-icon {
    &[class*="#{$name}"] {
      mask-image: url($path);
      color: #{$color};
    }
  }
}

@include QuintIcon("../../assets/img/tabs/rings.svg", "quint-ring", "#FFF");  
在使用LibSass或Sass编译器的sassmiter上

ion-icon[class*="quint-ring"] {
  mask-image: url("../../assets/img/tabs/rings.svg");
  color: #FFF;
}
看起来和你期望的一样

还有,为什么会这样

ion-icon[class*=quint-ring] {
  mask-image: url("../../assets/img/tabs/rings.svg");
  color: #FFF;
}
不为你工作?我找不到结果选择器有问题的场景:

div[类*=五次环]{ 颜色:绿色; } 五环 斜视环 五环 aaa SFDFSdfSf五次环
quint ringsssss bdfdbWeird,因为我没有得到这个结果,我们可能在SASSMISTER上有不同的配置。在我这方面,我使用的是DartsassV1.6.2,我不知道它是什么。显然,它是一个编译器,但我认为它在IonicI上不起作用。我确认,在LibSass上,编译器按预期工作,但在Ionic v3框架上不起作用。SassMister上唯一删除引号的编译器似乎是DartSass。这就是爱奥尼亚v3的用途吗?你的解决方案是对的,我只是搞乱了一个爱奥尼亚特有的东西。谢谢