【发布时间】:2019-10-05 19:51:03
【问题描述】:
两个不同的客户端需要自己的主题,它们各自的主题颜色保存在 Variables1.scss 和 Variables2.scss 文件中。启动时,应用程序进行 http 调用并提取公司名称等信息。现在,根据公司名称,我想决定是导入 Variables1.scss 还是 Variables2.scss。
这似乎有点棘手,因为首先要编译 SCSS 以生成 CSS。并且只有在该应用程序启动并从数据库中提取公司信息之后。
通过导入各自的Variables.scss文件为每个客户构建应用程序可能是一个简单的解决方案,但如果公司数量增加,这种方式将不可行。
我浏览了很多与我的相关的帖子,但他们要么提出了一个导致大量代码重复的解决方案,要么导致我在整个应用程序中更改类的名称。
非常感谢专家的建议。
【问题讨论】:
-
@RandyCasburn 这个解决方案总是要求我浏览一个设置主题的特定页面。如果我们总是可以在启动时加载特定组件,那么这种方法会很有帮助。
-
应用程序或根组件总是在每个 Angular 应用程序中加载,并且每个 Angular 应用程序都有一个 index.(html) 页面被加载。
-
@RandyCasburn 感谢您的回复,它在某种程度上有效。这种方法的唯一问题是我们无法使用这些变量更新全局 styles.scss 文件,我们必须为每个单独的子组件编写 css 类,即使是常见的 css 类也是如此。使用 ::ng-deep 可能会解决问题,但它似乎已被弃用。
标签: javascript css angular typescript sass