LIC*_*HEN 10 syntax dictionary function sass sass-maps
map.get()不起作用。map-get()确实有效。我设置了一个颜色值映射并创建了一个简单的函数来检索它们。
在进行检索时,我遵循了Sass 文档,其中指出您可以使用该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);
}
Run Code Online (Sandbox Code Playgroud)
map.get()语法正常工作?rob*_*rtp 21
我遇到了与 OP 类似的问题(使用 dart-sass v1.25.0),并且仅map-get有效,map.get无效。
文档对此似乎不是很清楚,但Github 上的(Sass Module System: Draft 6)文档对此进行了更好的解释。
这似乎是无礼的话是在移动的使用@use有利于@import与本土CSS更好的兼容性,并且为了获得访问map.get你现在必须明确地导入map module使用@use关键字。
map.get应该工作:@use "sass:map";
$colors: ('primary': black, 'secondary': white);
@function color($color) {
@return map.get($colors, $color);
}
Run Code Online (Sandbox Code Playgroud)