【发布时间】:2019-03-21 07:53:31
【问题描述】:
我有一个角小部件,应该嵌入到不同的网站中,但我不知道将嵌入它的网站。
我无法将小部件放在 IFrame 中。
这意味着小部件应该 100% 封装。
小部件正在使用某些库中的组件,例如:
角度引导 - https://angular-ui.github.io/bootstrap/
@角度/材质
这些库中的一些组件正在使用视图封装设置为无,这意味着一个问题是我的头会包含以下内容:
.mat-checkbox {...}
这不好,因为它可能会干扰主机网站样式。
另一个问题是我买不起像 .mat-checkbox 这样的类名 因为这意味着主机站点可以加载材料设计模板并更改我的小部件外观。
我检查了其他公司的解决方案,例如 hotjar
他们不放在 iframe 中,他们只是散列他们的类名(可能在 js 中使用 css 库,如 typestyle 或 postcss),这对我来说是一个很好的解决方案 - 但是
我如何从第三方库(如材料设计和角度引导)中散列组件的类名?
我尝试过的事情:
用于创建 Web 组件的 Angular 元素
字体样式
【问题讨论】:
标签: angular