angular动态绑定样式以及改变UI框架样式的方法
一: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/archive/2018/09/02/9574786.html
本文内容仅供个人学习、研究或参考使用,不构成任何形式的决策建议、专业指导或法律依据。未经授权,禁止任何单位或个人以商业售卖、虚假宣传、侵权传播等非学习研究目的使用本文内容。如需分享或转载,请保留原文来源信息,不得篡改、删减内容或侵犯相关权益。感谢您的理解与支持!