【问题标题】:Use function result as arglist使用函数结果作为 arglist
【发布时间】:2020-11-22 00:28:04
【问题描述】:

有没有一种智能的方法可以将map.get 的函数结果用作arglist,而无需先将列表保存到变量中?

@use "sass:map";

@mixin make-button-size($font-size, $padding-vertical, $padding-horizontal) {
    // make-button-size implementation
}

$sizes: (
    md: (10px, 11px, 12px),
)

$params: map.get($sizes, md);
@include make-button-size($params...);

我尝试了以下方法,但这会导致语法错误:

@include make-button-size((map.get($sizes, md))...);

【问题讨论】:

    标签: css sass scss-mixins sass-maps


    【解决方案1】:

    它基于https://www.sassmeister.com/

    即使我输入以下内容,错误也不会出现。

    @mixin make-button-size($font-size, $padding-vertical, $padding-horizontal) {
        a: $font-size;
        b: $padding-vertical;
        c: $padding-horizontal;
    }
    
    $sizes: (
        md: (10px, 11px, 12px),
    );
    $params: map-get($sizes, md);
    
    p {
      sizes: $params;
      @include make-button-size(map-get($sizes, md)...);
    }
    

    编译:

    p {
      sizes: 10px, 11px, 12px;
      a: 10px;
      b: 11px;
      c: 12px;
    }
    

    $sizes: (...) 没有分号,所以请确保它没有。

    【讨论】:

    • 你是对的!好像是PhpStorm的问题,SCSS代码无法解析,所以没有触发FileWatcher。谢谢你的回答。
    猜你喜欢
    • 1970-01-01
    • 2018-01-24
    • 2021-04-17
    • 1970-01-01
    • 1970-01-01
    • 2011-11-18
    • 2020-10-15
    • 1970-01-01
    • 2022-01-09
    相关资源
    最近更新 更多