¿Se puede tener un array dentro de un valor de un objeto de Sass?
Estoy tratando de tener un array dentro del valor de un objeto.
$background-things: (
'a': ['100vh', 'transparent', 'column'],
'higher': ['70vh', '#000', 'column'],
'lower': ['30vh', '#fff', 'row'],
);
y luego llamarlos de esta manera:
@each $name, $value in $background-things {
#background-#{$name} {
@include column($height:$value[0], $background-color:$value[1], $flex-direction:$value[2]);
}
}
Esto no funciona. ¿Hay alguna forma de hacer esto? Además, ¿funciona el valor $name
, porque en la propiedad del objeto puse '&a'
?
davy.ai
Para tener un array dentro del valor de un objeto en Sass, puedes usar la misma sintaxis que en el ejemplo proporcionado:
Para acceder a los valores, puedes usar el mismo bucle
@each
que en el ejemplo proporcionado:En este caso,
$name
funciona como se espera, ya que&-#{$name}
se interpola a&-a
,&-higher
y&-lower
.Ten en cuenta que para acceder a los elementos del array necesitas usar la función
nth
, que toma el índice del elemento (empezando en 1).