Angular Elements - 外部库的 CSS

标签 angular angular-elements

我希望将 Angular Elements 与外部库 (Kendo UI) 结合使用。我设法创建了一个组件并将其添加到我的应用程序中。问题是 Kendo 的 CSS 弄乱了我所有的应用样式。

关于如何封装 CSS 以仅应用于组件而不“泄漏”到父应用程序的其余部分,我有什么想法吗?

谢谢

UPDATE

有关代码,请参阅以下 stackblitz: https://stackblitz.com/edit/angular-kpmnjg

如果我构建代码,我会得到 4 个 .js 文件和 styles.css 文件(包含 Kendo UI 的样式)。将文件添加到干净的 html 页面可以正常工作。但是,一旦我将它们添加到我的应用程序中,styles.css 就会渗入我的应用程序,扰乱样式(按钮/输入/等)。

最佳答案

在不了解 Kendo UI 并且只阅读 Angular 元素的情况下,一般来说,我封装 CSS 的方式是使用 SASS 并执行

.angular-element-class {
  @import 'path/to/kendo.css';
}

或者希望 Kendo UI 有 SASS api

@import 'path/to/kendo.scss';

.angular-element-class {
  @include kendo-mixin-needed-for-angular-element;
}

关于Angular Elements - 外部库的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51676412/

相关文章:

html - 使用 simplebar 库隐藏水平滚动条不起作用

html - 将子组件作为新页面加载,而不是作为父组件主体的一部分

angular - angular2 应用程序中的 karma 测试异常

angular - 在 webcomponent 中重置 Angular 路由器状态( Angular 元素)

javascript - 什么是更好的接口(interface)或类来拦截 Angular 6 中的 API 数据

angular - 不能将 'NgElementConstructor<unknown>'类型的参数分配给 'CustomElementConstructor'类型的参数

angular - 我可以拥有在单个 js 文件中发出 Angular 元素的 Angular 库吗?

Angular 元素/路由器 socket

javascript - Angular 应用程序中的 Angular 元素在优化时会产生无限重新加载问题

angular - 如何为事件发射器设置初始值