我有两个SCSS数组($color_options
和$object_options
)。
我想使用SCSS循环遍历两个数组以组合来自两个数组的值。
我已经创建了一个功能来完成这一切,一切正常。但是,有时我只想循环遍历颜色数组并忽略对象数组。我怎么能这样做?
这是我的代码(*):
@function generic-avatar-hidden($color_options: $color_options, $object_options: $object_options) {
$bg: compact();
@each $ov in $object_options {
$o-css-selector: nth($ov, 1);
@each $cv in $color_options {
$c-css-selector: nth($cv, 1);
$assetname: $o-css-selector + $c-css-selector;
$bg: join($bg, image-url("#{$root-directory}/#{$brand}/#{$product}/#{$type}/#{$product}-#{$type}-#{$path-pre}#{$assetname}#{$path-post}.#{$ext}"), comma);
}
// Close CV
}
// Close OV
@return $bg;
}
<小时/> 我采取的步骤:
我已尝试将所有代码包装在@if $object_options != null
中的object_options中。
这是有效的,但是当$object_options
应该被使用时,该函数将仅循环遍历$object_options
数组中的最后一项。
代码示例
(*)这是我的代码的缩减版本。完整的例子可以在这里找到:
Full version,不使用@if $object_options != null
@if $object_options != null
**预期输出** (这基于上面链接的完整版代码)
基本上,$ color_options&amp; $ object_options里面都有5个元素。 SCSS代码从$ color_options和$ object_options中获取元素并将它们组合在一起。但是,如果将$ object_options设置为null,则不会有任何组合,只会使用$ color_options中的元素。