zoukankan      html  css  js  c++  java
  • Angular2 ngclass与ngstyle的使用

    今日遇到ngClass与ngStyle的使用问题。

    ngClass与ngStyle都是动态修改html样式的内置命令。

    ngClass

    官方文档的说明的格式:

    https://www.angular.cn/api/common/NgClass

    1 <some-element [ngClass]="'first second'">...</some-element>
    2 <some-element [ngClass]="['first', 'second']">...</some-element>
    3 <some-element [ngClass]="{'first': true, 'second': true, 'third': false}">...</some-element>
    4 <some-element [ngClass]="stringExp|arrayExp|objExp">...</some-element>
    5 <some-element [ngClass]="{'class1 class2 class3' : true}">...</some-element>

    总结:

    1.[ngClass]="'css类1 css类2'"
    字符串以空格分割形式。
    2.[ngClass]="['css类1','css类2']"
    数组形式。
    3.[ngClass]="{'css类1':true, 'css类2':true}"
    key/value形式
    4.[ngClass]="{'css类1 css类2':true}"
    多类key/value形式
    5.[ngClass]="stringExp|arrayExp|objExp"
    表达式形式。

    还有一种方式就是在组件中定一个对象 :

    currentClasses: {};
    setCurrentClasses() {
      // CSS classes: added/removed per current state of component properties
      this.currentClasses =  {
        'saveable': this.canSave,
        'modified': !this.isUnchanged,
        'special':  this.isSpecial
      };
    }

    把ngClass属性绑定到currentClasses,根据它来设置此元素的CSS类:

    <div [ngClass]="currentClasses">This div is initially saveable, unchanged, and special</div>

    持续更新:

    ngStyle

    贴上官方文档:https://www.angular.cn/api/common/NgStyle

    <div [ngStyle]="{'background-color':'green'}"></<div>
    <div [ngStyle]="{'background-color':  disabled == true  ?  'green' : 'red' }"></<div>
    <div [ngStyle]="{'background-color':'green' , 'color':'red' }"></<div>
    

    总结:

    1.[ngStyle]="{'css属性':'属性值'}"
    单个key/value形式
    2.[ngStyle]="{'css属性1':条件表达式 ? 'true时 属性值1':'false 时 属性值2'}"
    单个属性值设置,使用三元表达式进行选择
    3.[ngStyle]="{'css属性1':'属性值1', 'css属性2':'属性值2'}"
    多个key/value形式

    注意:
    1.如果在原生html标签中使用[style]={'属性1':'值1',......},会强制覆盖原本标签中style的样式
    2.ngStyle的优先级低于【style.属性值】的写法
    3.在递归中使用对象属性类型绑定到原生标签的style时,注意事项中1,2条同样适用。


  • 相关阅读:
    GDAL GDALOpen 打开中文路径的问题
    (转载)星载SAR产品数据格式的介绍
    Qt 标题栏(标题、图标)设置
    android NDK与Cygwin配置
    从零开始系统深入学习android(实践让我们开始写代码Android框架学习7.通知)
    使用的Eclipise插件汇总
    android对话框弹出方式动画
    常用系统优化软件下载
    FLV 观看方法和视频文件转换攻略
    网络编辑如何应用SEO知识
  • 原文地址:https://www.cnblogs.com/macoco/p/8479789.html
Copyright © 2011-2022 走看看