【发布时间】:2018-11-23 09:08:17
【问题描述】:
我想将 CSS 应用到从父组件调用的子组件上,使用它可以正常工作的技巧
封装:ViewEncapsulation.None
但是当我导航到其他路由或页面时,它会选择封装并不奇怪的组件的样式
即当我到达路线时 http://localhost:4200/example
并且示例组件有
@Component({
selector: 'app-example',
templateUrl: './example.component.html',
styleUrls: ['./example.component.css'],
encapsulation: ViewEncapsulation.None
})
在这条路线上还有另外两个组件
example.component.html
<app-example1></app-example1>
<app-example2></app-example2>
css 被应用到各自的子节点
但是当我点击 example2 时,它也会选择 example1 的 css
@Component({
selector: 'app-example2',
templateUrl: './example2.component.html',
styleUrls: ['./example2.component.css'],
})
当我删除封装属性时,它不会选择 example2 路由
或者当我直接访问路由http://localhost:4200/example2
它工作正常,css 只拾取 example2 css 但是当我导航到 example1 并导航到 example2 时
它选择示例 1 组件的样式是因为
encapsulation: ViewEncapsulation.None
当我删除此属性或直接访问它工作正常的路线时,究竟是什么问题我不知道为什么会这样
和example1和example2是两个不同的模块,有自己的路由
【问题讨论】:
-
您也可以分享您的样式文件吗?