• [Angular] Use Angular’s @HostBinding and :host(...) to add styling to the component itself


    One thing that we can do is to add styles directly to HTML elements that live within our component. However, in this lesson we see that style classes added to your template HTML within your component get applied to an inner <div> and not your component host. We will learn how to use :host(...) and @HostBinding to add styling directly to the component host itself.

    import { Component, HostBinding } from '@angular/core';
    
    @Component({
      selector: 'host-styling',
      template: `
        <div>
          I'm a div that wants to be styled
          <button (click)="redFont = !redFont">toggle</button>  
        </div>
      `,
      styles: [
        `
          /* Apply this style if .yellow-style is added to the component tag itself */
          :host {
            background-color: yellow;
            display:block;
          }
          
          :host(.red-font) {
            color: red;
          }
        `
      ]
    })
    export class HostStylingComponent {
      @HostBinding ('class.red-font') redFont = true;
      
    }

    We can use :host(<class-name>) with @HostBinding, it will add .red-font class to the host element based on condition.

  • 相关阅读:
    react实现拖拽
    JS实现判断滚动条滚到页面底部并执行事件的方法
    获取地址中的参数 封装在params对象里面
    git常用命令
    Linux定时任务Crontab命令详解
    tars 部署
    tars 问题汇总
    Mac
    http head
    SSL
  • 原文地址:https://www.cnblogs.com/Answer1215/p/7365657.html
Copyright © 2020-2023  润新知