【发布时间】:2017-10-03 00:21:38
【问题描述】:
我正在构建一组常见的 SASS mixin。其中一些 mixin 有 5-10 个变量,所有变量都有默认值。我想要一种方法来检查用户是否有输入值 - 不是变量内容,而是是否有实际的用户输入。例如,在以下 mixin 中:
@mixin backdrop($color: #000) {
background-color: $color;
}
如果用户在自己的代码中调用:
@include backdrop(#000);
应该有没有警告。即使他们输入了与默认值相同的值,但仍有用户输入,因此不需要@warn。但是,如果用户调用:
@include backdrop;
应该有一个警告,以确保用户知道可能的变量。
这对于具有更多变量的 mixin 更有用。例如,假设我的网站有一个标准按钮:
@mixin button($background: #222, $textcolor: #fff, $corner-round: 5px) {
background-color: $background;
color: $textcolor;
border-radius: $corner-round;
}
用户可以输入@include button;,他们会得到一个带有白色文本和 5px 圆角的深灰色按钮。通常,如果有人使用像这样的 mixin,他们不是自己编写的,他们可能会假设 - 看到代码中其他地方使用的 @include button; - 没有变量。我知道最好的做法是检查一个不熟悉的 mixin 中的变量——但不是每个人都这样做。所以他们可能会进去输入:
@include button;
background-color: #444;
获得浅灰色按钮。我希望能够警告调用 mixin 并且没有提供任何变量的用户:“嘿,提供了一些您可能想要使用的变量!” - 这样,如果他们想要覆盖默认值,他们可以用尽可能少的代码行来实现。
有谁知道这种用户输入检查是否可以使用 SASS 进行?
【问题讨论】:
标签: variables sass user-input