一:angular動態綁定樣式 舉個慄子: <tr *ngFor="let dataTr of tableData;let i = index" [formGroupName]="i" [ngClass]='isHideClass(i)'> .hide_tr{ display: none !impo ...
一: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,就可以改變框架定義好的樣式