问题描述
我正在使用Salesforce Lightning和Lightning Web组件(LWC)框架开发客户服务系统。包括全局样式表以在网站上创建/覆盖样式的最佳方法(如果有)是什么?可以实现基本主题之外的控制的东西,基本允许您更改几种颜色和徽标。
我最近得到的是:
- 通过
Setup > Static Resources
部分上传我的自定义样式表 - 创建一个新的特殊闪电Web组件,该组件在视觉上是隐藏的(例如,通过display:none),仅用于通过其javascript文件加载我的自定义样式表静态资源-做
connectedCallback() { Promise.all([loadStyle(this,lwcStyleResource)...
这种事情。 li>
这似乎很好用,但有一点需要注意-我必须将此组件包含在我要应用样式的任何页面上。我希望这是全局的,因此适用于每个页面。因此,有什么办法可以在每个页面上包含此特殊组件吗?我几乎是Lightning系统的菜鸟,所以我不知道所有内容的结构,是否有可以修改的主页模板,等等。
解决方法
最简单的答案是将 LWC 根组件包装在 Aura 组件中,并使用 ltng:require 仅导入一次样式,这将自动将 css 级联到所有封闭的 LWC。