Angular 中内联样式的 [ngStyle] 和 [style] 之间的区别

问题描述 投票:0回答:1

在 Angular 中使用

[ngStyle]
[style.<attr>]
作为内联样式组件有什么区别?

css angular inline-styles
1个回答
0
投票
  1. [ngStyle]
    [style]
    之间的主要和明显区别在于输出:

    • 使用
      [style.color]="condition ? 'black' : ''"
      将为所有条件(true 或 false)中的元素添加内联
      color
      样式
    • 但是使用
      [ngStyle]="condition && {'color':'black'}"
      只会在条件为 true 时向元素添加内联
      color
      样式
  2. 除此之外,

    [ngStyle]
    还有助于在多种条件下进行样式设计,以获得更好的开发人员体验。例如:

    • 使用

      [style.<attr>]
      <div [style.color]="hasError ? 'red' : 'black' " [style.font]="font"       [style.background-color]="hasError ? 'tomato' : 'white' ">

    • 使用

      [ngStyle]

      <div [ngStyle]="currentStyles">
      
      this.currentStyles = {     
          'font-style':  this.canSave  ? 'italic' : 'normal',  
          'color':       this.hasError ? 'red'   : 'black',     
          'font-size':   this.hasError ? '24px'   : '12px'   
      };
      

参考资料:

© www.soinside.com 2019 - 2024. All rights reserved.