【发布时间】:2019-12-01 20:13:03
【问题描述】:
我想根据正在连接的客户端动态切换 Angulars 全局 CSS 文件。这将用于客户品牌化目的,包括字体、颜色、照片、页眉、页脚、按钮样式等。
每个客户都为我们提供了一个 CSS 文件,我们需要将其集成到我们的应用中。我们有数百个客户。
当前的解决方案是尝试在加载时覆盖单个组件的 CSS。这很糟糕,因为它添加了很多样板:
HTML:
<link id="theme" rel="stylesheet" href="./assets/stylesheets/{{cclientCode}}.css">
ts:
ngOnInit() {
this.service.clientCode.subscribe(clientCode => this.clientCode = clientCode);
}
我的解决方法不起作用,因为在 {{}} 有机会加载值之前调用了 link html。
我也没有动力修复我的解决方法,因为它只是一种解决方法。相反,我想实现一些在全球范围内有效的东西,而不需要任何每个组件的样板。
我想要的是能够为每个客户端动态切换 global Angular 样式。所以像:
"styles": [
"src/assets/stylesheets/angular_style.css",
"src/assets/stylesheets/client_style.css"
]
client_style.css 以不同方式提供给每个客户端。
【问题讨论】: