我试图循环循环,第一个循环是一个列表,第二个循环是一个sass映射。列表中的项目代表sass地图。问题是,在第二个循环中,如果我只是在#{$ event_type}前添加$,则会抛出错误。我应该以不同的方式接近这个吗?
清单:
$event_list: 'summit', 'awards', 'awards-europe', 'other';
示例地图:
$awards: (
content-marketing: #F47521,
digiday: #FFDD00,
publishing: #89C63F,
signal: #33AADB,
video: $pink
);
破碎循环:
@each $event_type in $event_list {
@each $event, $color in #{$event_type} {
&.#{$event_type}-#{$event} {
section h2, h3 {
color: #{$color};
border-color: #{$color};
}
// More CSS
}
}
}
答案 0 :(得分:1)
使用多地图结构可能更好:
$event_list: (
'summit': (
key1: #000,
key2: #fff
),
'awards': (
content-marketing: #F47521,
digiday: #FFDD00,
publishing: #89C63F,
signal: #33AADB,
video: $pink
)
);
循环大致相同:
// Note the added $map variable.
@each $event_type, $map in $event_list {
@each $event, $color in $map {
&.#{$event_type}-#{$event} {
section h2, h3 {
color: #{$color};
border-color: #{$color};
}
// More CSS
}
}
}