动态样式怎么样?Angular2动态样式
想象一下,您正在为多个客户端部署独特的plaftorm。 (SAAS平台)
您部署一个webapp文件夹,但这些webapp必须为每个客户端应用不同的主题(颜色)(示例配置:按域名加载颜色)。
在角2中,有scss,但scss是一种编译语言 - >所以您需要编译每个客户端每次编译N个webapps。这需要时间并且很难维护。
因此,我看到的唯一解决方案: - 在加载应用程序时在运行时编译scss(通过远程服务器调用,fe:jsass或js),并将生成的css文件注入头部分。
但我认为这是一个与(角色)组件的(s)css文件的反模式。 此外,即使未初始化组件,生成的文件也将包含将应用于整个页面的组件样式。
你有任何框架或其他解决方案吗?
SCSS只编译一次(当你建立你的应用程序)到CSS文件。对于Typescript文件也是如此,编译并缩小为一个JS文件。 – YounesM
您应该创建一个自定义[RootRenderer](https://angular.io/docs/ts/latest/api/core/index/RootRenderer-class.html),它将处理编译sass或使用自定义css文件。要做到这一点,您需要创建一个新的平台,这是我从未做过的重大任务。看看它是如何工作的[在浏览器平台](https://github.com/angular/angular/blob/2.4.x/modules/%40angular/platform-browser/src/dom/dom_renderer.ts#L126)。并且在ng-europe – n00dl3
上有一个[关于自定义渲染器的演讲](https://www.youtube.com/watch?v=iE-wYf4AaiM),我很高兴看到它。 –