首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在组件之间切换时,ng-deep不工作吗?

在组件之间切换时,ng-deep不工作吗?
EN

Stack Overflow用户
提问于 2021-07-15 19:31:47
回答 1查看 88关注 0票数 0

我有两个组件A,B,在每个组件的css文件中,我有一个ngx-bootstrap datepicker,我需要对其进行自定义(对齐)。

在我有一个组件css文件中

代码语言:javascript
复制
 ::ng-deep .bs-datepicker { 
margin-top:-100px
} 

在B组件css文件中,我有

代码语言:javascript
复制
::ng-deep .bs-datepicker { 
margin-top:-80px
} 

当我转到组件A并检查元素时,它显示了A的css文件,这正是我想要的,但当转到组件B然后返回到组件A时,它在组件A中显示了B的Css文件,因此它在组件A中显示了margin top:80px。

当我从一个组件切换到另一个组件时,如何在这两个组件之间分离样式而不影响另一个组件?

EN

回答 1

Stack Overflow用户

发布于 2021-07-15 19:49:25

您可以将bs-datepicker包装在容器中,并使用它的名称来捕获

代码语言:javascript
复制
::ng-deep .container-one * .bs-datepicker { 
margin-top:-100px
} 

::ng-deep .container-two *  .bs-datepicker { 
margin-top:-80px
} 

在HTML文件中:

代码语言:javascript
复制
<div class="container-one">
    <input type="text" bsDatePicker>
</div>

<div class="container-two">
    <input type="text" bsDatePicker>
</div>

它们会有不同的样式

我还建议停止使用::ng-deep以防止意外行为(就像您在这种情况下所做的那样)。

上述方法也适用于没有::ng-deep且具有正确angular.json配置的styles.scss文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68393013

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档