如何在全局CSS中应用具有相同效果的同一个类以及在Angle中使用特定组件

时间:2019-08-26 08:13:17

标签: angular angular6

当我在我的组件上运行该js并在该组件视图上生成SVG行时,我已经在我的angular项目中使用了引线js,这是可以的,但问题是当我移至另一个组件时,它总是显示SVG。我弄清楚了何时渲染它会在svg上生成类领导。我设置了全局CSS .leader-line {display:none;} 因此它成功地从全局隐藏,但未在组件视图上显示。 这就是为什么我要在组件样式中更改.leader-line {display:table} 我希望这会起作用。但是我不知道该怎么解决。

1 个答案:

答案 0 :(得分:0)

成角度的encapsulates组件视图,以便将它们包含在自己的沙箱 shadow dom 中,并且不受全局样式的影响。您需要在组件中更改此设置

import {ViewEncapsulation} from '@angular/core'
@Component({
  selector: 'my-component',
  ...
  encapsulation: ViewEncapsulation.none
})
class MyComponent {
}

关于视图封装的说明:

  

无表示Angular不进行视图封装。 Angular将CSS添加到全局样式中。先前讨论的范围规则,隔离和保护不适用。这基本上与将组件的样式粘贴到HTML中相同。

完成封装后,您应该可以覆盖组件中其余的全局CSS