首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sass map.get()不工作。map-get()有。怎么回事?

Sass map.get()不工作。map-get()有。怎么回事?
EN

Stack Overflow用户
提问于 2020-10-05 14:13:33
回答 1查看 12.7K关注 0票数 25

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

我设置了一个颜色值的映射,并创建了一个简单的函数来检索它们。

在进行检索时,我遵循了Sass文件,其中声明您可以使用map.get()函数检索映射值。使用此或任何其他map.function将生成一个Error: There is no module with the namespace "map".

在查看映射模块时,我注意到了另一种语法map-get(),它可以工作。

怎么回事?我是不是遗漏了一些东西,比如导入映射模块,以便以这种形式使用它?

查看我的代码如下:

代码语言:javascript
运行
复制
// 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()语法正常工作,我需要更改什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-16 17:02:22

我有一个与OP类似的问题(使用dart-sass v1.25.0),只有map-get工作,map.get不工作。

文档在这一点上似乎不太清楚,但是关于Github的(Sass模块系统:草案6)文档解释得更好了。

为了更好地与本机CSS兼容,使用Sass继续前进似乎使用了@use,为了获得对map.get的访问,您现在必须使用@use关键字显式导入map module

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

代码语言:javascript
运行
复制
@use "sass:map";

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

@function color($color) {
  @return map.get($colors, $color);
}
票数 49
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64210390

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档