首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >角度如何使用ng深,但仍然只影响一个组成部分?

角度如何使用ng深,但仍然只影响一个组成部分?
EN

Stack Overflow用户
提问于 2022-09-20 10:26:42
回答 1查看 47关注 0票数 0

在一个角度应用程序中,使用角材料作为主题,当主题变暗时,我尝试更新组件中的css类。

这是可行的,但它会影响所有组件,放松封装:

代码语言:javascript
复制
::ng-deep .dark-theme { // must have ::ng-deep to see .dark-theme on body
  .action-button:hover {
    color: #ffffff;
  }
}

我怎么能得到相同的结果,但只对一个组件?

正如提到的here,我尝试过这样做,但似乎对我不起作用:

代码语言:javascript
复制
::ng-deep .dark-theme {
  :host .action-button:hover {
    color: #ffffff;
  }
}
// OR
:host ::ng-deep .dark-theme .action-button:hover {
  color: #ffffff;
}
EN

回答 1

Stack Overflow用户

发布于 2022-09-20 18:33:29

试试这个:

当我们将视图封装(模拟)设置为所需的组件时,样式将只应用于组件模板中的元素。

@Component({ selector:‘app-仿制-封装’,模板:‘,样式:'',封装:视图封装.Emulated,})

通过提供有限的信息来实际测试该场景,如果在@Component块中设置Encapsulation属性可以解决问题,则可以避免使用ng深度和主机。

请参考- https://angular.io/guide/view-encapsulation获得更多信息。

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

https://stackoverflow.com/questions/73785224

复制
相关文章

相似问题

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