SASS - Доступ к значению многомерного массива - PullRequest
0 голосов
/ 22 марта 2019

Я новичок в SASS. Я создал многомерный массив, например:

$content: (
    width: 100%,
    content-header: (
        width: 320px
    ),
    content-main: (
        width: 100%
    ),
    content-footer: (
        width: 320px
    )
);

Как получить доступ к значению вложенного массива?

Я хочу получить доступ к $content-main[width]. Как я могу получить доступ?

1 Ответ

0 голосов
/ 22 марта 2019

Вы делаете это значительно сложнее, чем нужно. Массивы полезны, если вам нужно перебирать переменные, для этого вам нужно создать собственную функцию sass, которая использует map-get. Я настоятельно рекомендую просто использовать переменные пространства имен, которые являются более простыми и более переносимыми, например. $content-width $content-main-width.

Если вы действительно хотите это сделать, см. https://css -tricks.com / snippets / sass / deep-getset-maps /

/// Map deep get
/// @author Hugo Giraudel
/// @access public
/// @param {Map} $map - Map
/// @param {Arglist} $keys - Key chain
/// @return {*} - Desired value
@function map-deep-get($map, $keys...) {
    @each $key in $keys {
        $map: map-get($map, $key);
    }
    @return $map;
}

map-deep-get($content, "content-header", "width");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...