如何解决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 举报,一经查实,本站将立刻删除。