scss Sass:映射getter&overridding #sass

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了scss Sass:映射getter&overridding #sass相关的知识,希望对你有一定的参考价值。

.getter {
  prop-1: "non-raw-prop-1-value";
  prop-2: "raw-prop-2-value";
}
// ----
// Sass (v3.4.1)
// Compass (v1.0.1)
// ----

// A property map
$properties: (
  prop-1: "raw-prop-1-value",
  prop-2: "raw-prop-2-value"
);

// The getter for the prop-1 property
@function get-prop-1($value) {
  @return 'non-' + $value;
}

// The overridding function that calls a getter
@function get($properties, $key) {
  $getter: "get-" + $key;
  $value : map-get($properties, $key);

  @if (function-exists($getter)) {
    @return call($getter, $value);
  }

  @return $value;
}

// Test
.getter {
  prop-1: get($properties, prop-1);
  prop-2: get($properties, prop-2);
}

以上是关于scss Sass:映射getter&overridding #sass的主要内容,如果未能解决你的问题,请参考以下文章

NuxtJS & SASS Loader - 在生产环境中使用 sass-loader (SCSS) 构建

scss 使用&符号(&)与基本元素组合使用Sass

CSS 变量和 SCSS 混合

SCSS 在 Vue JS 中无需 SASS-loader 即可工作

SCSS 用伪元素嵌套 Sass

Vue js 和 scss 或 Sass