如何动态更改组件宿主的 CSS 属性?
我有一个组件,在它的 CSS 中我给了它一个样式:
:host {
overflow-x: hidden
}
在从子组件单击按钮时,我需要将 overflow-y: hidden
添加到主机组件。
我如何实现这种行为?
最佳答案
使用以下主机绑定(bind):
@HostBinding('style.overflow-y') overflowY = 'scroll';
这将给出以下组件:
@Component({
selector: 'my-app',
template: `
<div>
<button (click)="addStyle()">Add Style</button>
<h2>Hello</h2>
</div>`, styles: [
`
:host {
overflow-x: hidden;
height: 50px;
width: 200px;
display: block;
}
`,
],
})
export class App {
name: string;
@HostBinding('style.overflow-y')
overflowY = 'scroll';
constructor() {
}
addStyle() {
this.overflowY = 'hidden';
}
}
关于css - 如何动态更改 :host in angular 2? 中的 CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44122081/