css - 如何动态更改 :host in angular 2? 中的 CSS

标签 css angular angular-components

如何动态更改组件宿主的 CSS 属性?

我有一个组件,在它的 CSS 中我给了它一个样式:

:host {
  overflow-x: hidden
}

在从子组件单击按钮时,我需要将 overflow-y: hidden 添加到主机组件。

我如何实现这种行为?

最佳答案

Here is a working example.

使用以下主机绑定(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/

相关文章:

html - 在移动模式下如何为谷歌地图模板设置不同的宽度

css - 在多列文本中,将 div 粘贴到底部

angular - 如何在没有 web.config 的情况下从 Azure 公开和提供 WOFF 文件?

javascript - 如何在运行时配置 MsAdalAngular6Module?

javascript - Angular 1.5 动态添加组件

javascript - AngularJS 组件 : using binding object in controller

javascript - 幻灯片图像在页面加载时爆炸

javascript - 在 Jquery 中组合不同的属性选择器

angular - 我可以在 Angular 2+ 中访问自定义 ControlValueAccessor 的 formControl 吗?

typescript - 错误 : Integrating terra components into Ionic3 app