【发布时间】:2019-10-29 08:41:49
【问题描述】:
我浏览了这个链接,但它没有回答我的问题。 Passing values from HTML to SCSS
我正在构建一个 Web 应用程序,管理员可以在其中设置自定义属性,例如 1) 改变全局字体大小 2) 更改面板背景颜色 3) 改变按钮颜色 4)改变按钮尺寸等。 我查看了 PrimeNg 设计器 API,发现他们的 scss 文件中有大约 500 个变量的列表。 我想做的是创建一个表单,以便用户可以在 UI 上设置值。 场景1--> 示例 -->
<p-fieldset legend="Global Font Size">
<input type="text" pInputText placeholder="Enter the global font size">
</p-fieldset>
一旦用户在此处输入值,我希望将包含在 scss 文件中的以下变量的值更新为用户在上面输入的值。
$fontSize:14px;
场景 2 --> 示例 -->
<p-fieldset legend="Global Font Size">
<input type="text" pInputText placeholder="Enter the global font size">
<button (onClick)="saveGlobalFontSize(fontSize)"> OK </button>
</p-fieldset>
1) 如何在 UI 上接受一个值并按照方案 1 的要求更新 scss 变量的值?
2) 如何在 UI 上接受一个值,将其传递给 typescript 函数,然后按照场景 2 的要求更新 scss 变量的值?
这是我所指的文档 --> https://www.primefaces.org/designer-ng/#/documentation
【问题讨论】:
-
我认为这是不可能的,因为您应该以 sass 格式编写您的样式,然后使用 ruby 或 gulp 将其编译为 css .... 您编译的是 sass 文件而不是原始 sass 文件。也许用更少的东西是可能的。我不确定...
-
Alex 是正确的——您的 sass 已编译,因此您无法动态更改变量值。但是,如果您可以将 sass 变量指向 CSS variable,您可能会取得一些成功。
标签: html angular7 primeng scss-mixins