Angular 2 中的样式绑定和 NgStyle

简介: Angular 2 中的样式绑定和 NgStyle

在 Angular 2 模板中绑定内联样式很容易。以下是一个绑定单个样式值的示例:

你还可以指定单位,例如在这里我们将单位设置为 em,但也可以使用 px、% 或 rem:

<p [style.font-size.em]="'3'">
  A paragraph at 3em!
</p>

以下是根据组件属性有条件地设置样式值的方法:

<p [style.font-size.px]="isImportant ? '30' : '16'">
  Some text that may be important.
</p>

NgStyle 用于多个值

简单的样式绑定适用于单个值,但要应用多个样式,最简单的方法是使用 NgStyle:

<p [ngStyle]="myStyles">
  You say tomato, I say tomato
</p>

然后 myStyles 将是组件中包含以 CSS 属性名称为键的对象的属性,如下所示:

myStyles = {
'background-color': 'lime',
'font-size': '20px',
'font-weight': 'bold'
}

或者可以像这样内联提供对象:

<p [ngStyle]="{'background-color': 'lime',
    'font-size': '20px',
    'font-weight': 'bold'}">
  You say tomato, I say tomato
</p>

或者对象可以是方法的返回值:

<p [ngStyle]="setMyStyles()">
  You say tomato, I say tomato
</p>

在相关的组件类中

setMyStyles() {
  let styles = {
    'background-color': this.user.isExpired ? 'red' : 'transparent',
    'font-weight': this.isImportant ? 'bold' : 'normal'
  };
  return styles;
}

另请参阅

  • Class binding + NgClass


目录
相关文章
|
3月前
|
安全
如何在 Angular 中使用 innerHTML 属性绑定
如何在 Angular 中使用 innerHTML 属性绑定
39 0
Angular组件传参
Input 是属性装饰器,用来定义组件内的输入属性。在实际应用场合,我们主要用来实现父组件向子组件传递数据。Angular 应用是由各式各样的组件组成,当应用启动时,Angular 会从根组件开始启动,并解析整棵组件树,数据由上而下流下下一级子组件。
angular40-angular实现todolist3编辑功能
angular40-angular实现todolist3编辑功能
102 0
angular40-angular实现todolist3编辑功能
angular34-自定义指令2
angular34-自定义指令2
102 0
angular34-自定义指令2
|
JavaScript 前端开发
Angular 自定义指令 Tooltip
Yeah,关注我的读者应该知道,上一篇文章了解 Angular 开发的内容,我们已经概览了 Angular 的相关内容。在自定义指令的部分,我们已经能够实现编写,但是,在实际场景中,我们还需要标准化的管理。
Angular 自定义指令 Tooltip
|
JSON 数据安全/隐私保护 数据格式
Angular4总结(六)—— 表单
模版式表单(FormsModule) 这个方法只适用于简单的表单需求,因为它受限于html模版。 可以使用的指令为: NgForm. ———> 隐式创建FormGroup实例 NgModel. ———>隐式创建FormControl实例 NgModelGroup. ————>隐式创建FormGroup实例,与NgForm类似,只不过NgModelGroup相当于在外面又加了一层外壳,然后这个外壳,作为了NgForm的子属性 NgForm相当于传统的页面form表单,表单中所有定义的属性,需要写上NgModel,这样NgForm就知道所有NgModel的存在了。
1391 0
|
前端开发 JavaScript API
Angular中sweetalert弹框的使用详解
最近太忙了,项目中使用的弹框老板嫌太丑,让我们优化一下,我在网上找了一下,找到了sweetalert弹框,算是比较好看的弹框了。所以我就想办法将sweetalert用到项目中,在项目中引入sweetalert时,遇到诸多问题,但最终在我不懈坚持下,都解决了,实现了效果。
3059 0
Angular6在自定义指令中使用@HostBingDing() 和@HostListener()
emmm,,,最近在为项目的第二阶段铺路,偶然看到directive,想想看因为项目已经高度集成了第三方组件,所以对于自定义指令方面的经验自己实在知之甚少,后面经过阅读相关资料,总结一篇关于在自定义指令中使用@HostBingDing() 和@HostListenner()。
1911 0