来自具有CSS的组件的angular2样式主体

Rac*_*naa 2 angular

如何仅使用CSS从组件的样式表设置样式标签的样式(无主机绑定解决方案,无视图封装解决方案,无...)

我尝试了这个,但是不起作用(无礼)

* >>> body
  overflow: hidden
Run Code Online (Sandbox Code Playgroud)

我也尝试过

body /deep/
  overflow: hidden
Run Code Online (Sandbox Code Playgroud)

这是我的index.html

<body>

<app-root></app-root>

</body>
Run Code Online (Sandbox Code Playgroud)

Mei*_*eir 5

由于封装原因,您无法引用父级。您可以做的是注入ref元素,然后使用js进行设置:

constructor(private elRef: ElementRef) {
   elRef.nativeElement.ownerDocument.body.style.overflow = 'hidden';
}
Run Code Online (Sandbox Code Playgroud)

然后在您的销毁钩子中:

this.elRef.nativeElement.ownerDocument.body.style.overflow = null
Run Code Online (Sandbox Code Playgroud)

  • 或者你可以做`document.body.style...`? (2认同)