微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Sass map.get不起作用 map-get可以是什么赋予了? 因此,使用OP的示例,map.get应该可以工作:

如何解决Sass map.get不起作用 map-get可以是什么赋予了? 因此,使用OP的示例,map.get应该可以工作:

问题:map.get()不起作用。 map-get()确实有效。

我建立了一个颜色值图,并创建了一个简单的函数来检索它们。

在进行检索时,我遵循Sass documentation,该状态指出您可以使用map.get()函数来检索映射值。使用此或任何其他map.function都会产生Error: There is no module with the namespace "map".

在检查地图模块时,我注意到可以使用另一种语法map-get()

有什么作用?我是否缺少某些东西,例如导入地图模块,以便可以这种形式使用它?

在下面查看我的代码

// Using npm dart `sass 1.26.11`.

$colors: ('primary': black,'secondary': white);

// Doesn't work    
@function color($color) {
  @return map.get($colors,$color);
}

// Does work
@function color($color) {
  @return map-get($colors,$color);
}

问题:要使map.get()语法起作用,我需要更改什么?

解决方法

我遇到与OP类似的问题(使用dart-sass v1.25.0),只有map-get有效,map.get没有。

文档上的内容似乎不太清楚,但是Github上的(Sass Module System: Draft 6)文档对此进行了更好的解释。

Sass is moving on似乎倾向于使用@use来支持@import,以更好地与本机CSS兼容,并且为了访问map.get,您现在必须显式导入map module@use关键字。

因此,使用OP的示例,map.get应该可以工作:

@use "sass:map";

$colors: ('primary': black,'secondary': white);

@function color($color) {
  @return map.get($colors,$color);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。