首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scss访问嵌套数据

Scss访问嵌套数据
EN

Stack Overflow用户
提问于 2021-02-05 09:43:33
回答 1查看 28关注 0票数 0

我正在尝试弄清楚如何访问嵌套变量。我目前有一些类似以下的东西:

代码语言:javascript
复制
@mixin password-reset-modal-props {
    color: map-deep-get($modal-settings, 'password-reset', 'header', 'color');
    font-size: map-deep-get($modal-settings, 'password-reset', 'header', 'font');
    font-family: 'Helvetica Neue Bold';
}

并使用以下方式访问:

代码语言:javascript
复制
@include password-reset-modal-props

我想使用一个嵌套变量,这样我就可以将它们组合在一起。我在想像这样的东西:

代码语言:javascript
复制
@mixin password-reset-modal-props {
    header: {
        color: map-deep-get($modal-settings, 'password-reset', 'header', 'color');
        font-size: map-deep-get($modal-settings, 'password-reset', 'header', 'size');
        font-family: map-deep-get($modal-settings, 'password-reset', 'header', 'font');
    },
    label: {
        font-family: map-deep-get($modal-settings, 'password-reset', 'header', 'font');
    },
}

并像这样访问:

代码语言:javascript
复制
@include password-reset-modal-props.header;

我知道我的代码是无效的,因为我得到了一个错误,并想知道这是否可能?我在谷歌上搜索,但还没有找到答案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-05 17:03:33

您可以使用参数和@if/@else语句:

代码语言:javascript
复制
@mixin password-reset-modal-props($element) {
    @if ($element == 'header') {
        color: map-deep-get($modal-settings, 'password-reset', 'header', 'color');
        font-size: map-deep-get($modal-settings, 'password-reset', 'header', 'size');
        font-family: map-deep-get($modal-settings, 'password-reset', 'header', 'font');

    } @else if ($element== 'label'){
        font-family: map-deep-get($modal-settings, 'password-reset', 'header', 'font');
    }
}

.test {
    @include password-reset-modal-props(header);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66056447

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档