继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

angular动态绑定样式以及改变UI框架样式的方法

30秒到达战场
关注TA
已关注
手记 286
粉丝 95
获赞 569

一:angular动态绑定样式

举个栗子:

<tr *ngFor="let dataTr of tableData;let i = index" [formGroupName]="i" [ngClass]='isHideClass(i)'>

复制代码

  isHideClass(index){    const data = this.tableData[index];    // if(data['532411351520251904'].value.valueText===''&&data['532411588670394368'].value.valueText===''    // &&data['532411670509654016'].value.valueText==='') {    //   return 'hide_tr'    // }
    let arr = [];    for (let i in data) {
      arr.push(data[i]);
    }    if(arr.every((val,idx)=>{       return val.value.valueText === ''
    })){      return 'hide_tr'
    }

  }

复制代码

hide_tr是类名,
.hide_tr{
display: none !important;
}

 

解释:ngClass要绑定的类名会在tr根据数据循环生成html的过程中调用组件中定义的isHideClass()方法,并把i(index)带过去让方法使用
根据方法逻辑返回的类名去绑定写好的样式isHideClass(index){return 'hide'},这时候这个ngClass就绑定上了hide这个类名的样式

二:angular改UI框架样式(例子是蚂蚁金服的UI框架)

例子:

复制代码

::ng-deep{
    .ant-card-head-title{
      font-weight: bold;
    }
    .ant-table-placeholder{
      display: none;
    }
    .ant-card-body {
      padding-bottom: 0px
    }
    .hide_tr{
      display: none !important;
    }
  }

复制代码

 

在要改的样式前面加上::ng-deep,就可以改变框架定义好的样式

原文出处:https://www.cnblogs.com/leileilei/p/9574786.html

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP