动态创建角度材质主题

时间:2017-11-28 15:59:46

标签: angular sass material-design angular-material2

我正在寻找实施以下方法的最佳方式:

我有两个不同的项目 - app和app-admin。我需要允许管理员用户更改应用主题:深色/浅色主题,字体,主色和强调色。

我想只编译.scss文件,创建一个缩小的custom-theme.css并将其包含在index.html的底部。 但我不确定在服务器中编译哪些.scss文件以获取新的bundle css。

如果您有其他建议如何做到这一点...... 感谢

1 个答案:

答案 0 :(得分:0)

为此更新我的解决方案:

  1. 在侧面板上添加了表单,以允许用户更改我想要他们更改的内容:字体,颜色,主题等(侧面板仅向管理员用户显示)
  2. 每次更改都会触发一个函数,该函数会将选择的值作为 string 插入到有角主题scss中。
  3. 使用进行此操作的任何客户端库编译scss字符串(或将其发布到您的服务器,如果需要的话,发布到服务器上)以获取新的有角度的主题CSS。
  4. 通过在HTML中添加样式节点来动态添加该主题(我一直删除前一个主题并添加更新的主题)
  5. 用户满意后,单击“保存更改”,将最终的CSS发布到服务器并进行存储。
  6. 加载应用程序时,请使用解析器在加载页面之前获取主题