function - Sass map.get() 不起作用。 map-get() 可以。是什么赋予了?

标签 function dictionary sass syntax sass-maps

问题:map.get()不起作用。 map-get()确实有效。
我设置了一个颜色值图并创建了一个简单的函数来检索它们。
在进行检索时,我按照 Sass documentation这表明您可以使用 map.get() 检索 map 值功能。使用这个或任何其他 map.function导致 Error: There is no module with the namespace "map". .
查看 map 模块,我注意到另一种语法 map-get() ,这确实有效。
是什么赋予了?我是否遗漏了一些东西,比如导入 map 模块,以便我可以以那种形式使用它?
在下面查看我的代码:

// 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);
}

关于function - Sass map.get() 不起作用。 map-get() 可以。是什么赋予了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64210390/

相关文章:

python - 如何从字典中删除某些项目?

html - sass 已编译但无法在我的浏览器中运行

laravel - 使用 Laravel 的 Elixir (Gulp) 编译 Zurb Foundation 6

Javascript 设置变量和对象以及正确的语法(调试控制台)

database - 在 Oracle 函数中获取上个月的最后一天

language-agnostic - 什么时候使用 map 有意义?

android - Android 应用程序的离线字典数据库

css - 循环内的SASS插值将增量转换为字符串

R:行名、列名、暗号和名称适用

javascript onclick事件,同一元素的每次点击都有不同的功能