我有一些需要为其创建主题的用户。根据用户的帐户关联,我想加载不同的主题。例如,如果John Doe登录,我需要加载greenteam.scss
。但是,如果道格·史密斯(Doug Smith)登录,他应该会看到blueteam.scss
。
这些文件基本上是其他元素使用的颜色和字体设置。 greenteam
可能有$header-bg: green;
,而blueteam
将有$header-bg: blue;
。
我最初的想法是要有一个这样的结构:/src/scss/client/_client-xxx.scss
,它表示在应用程序中设置的背景颜色,字体颜色等变量。因此,在登录后,系统会告知已登录的人员是“ greenteam”的一部分,并加载/src/scss/client/_client-greenteam.scss
以便一起编译颜色和其他设置。这样,我可以将新的客户端主题放到目录中,然后弹出新主题!
“团队”的数量将成倍增长。我不知道在任何给定的时间里我会拥有多少。这就是为什么“仅仅改变身体类别”令人担忧的原因,因为它将变得非常庞大且难以管理。
当用户调用页面/样式时,我也可能不太了解angular在网络上如何构建自己。乍一看,当将其部署在服务器上时,角度会将scss编译为标头中的CSS,而不是“即时”加载。如果是这种情况,看来我必须加载所有可能的客户端css选项,然后仅显示匹配的内容(主体类路线)。
用户将无法直接控制其主题,也无法对其进行更改,开发人员将手动定制主题。
答案 0 :(得分:0)
我本来建议更改body类,但是,如果您真的想在运行时应用CSS,则可以尝试:
选中此主题以了解如何在运行时添加样式,您可以从数据库中获取样式表的文本内容: https://stackoverflow.com/a/524717/10899694