我使用 Angular Elements (6.0.3) 创建了一个 Web 组件。当我在另一个网站中使用 Web 组件时,该 Web 组件会覆盖父页面的样式,因为它也使用 Bootstrap。我知道有视图封装原则,但据我所知“Native”封装还没有完全支持。所以现在我使用默认的“仿真”。
我发现如果我:host ::ng-deep
在我的样式前面添加,它们只会应用于 Web 组件本身,这很棒。但是,我在 angular.json 中加载的所有 css 和 scss 文件似乎也覆盖了父页面。有什么办法可以防止导入的样式文件出现这种行为?
我在 angular.json 中的样式导入:
"styles": [
"node_modules/intl-tel-input/build/css/intlTelInput.css",
"node_modules/bootstrap/dist/css/bootstrap.min.css",
"node_modules/angular-calendar/css/angular-calendar.css",
"src/styles.scss",
"node_modules/font-awesome/css/font-awesome.min.css",
"src/assets/css/wizard.css",
"src/assets/css/calendar.css",
"src/assets/css/ng2-select.css"
]