Примечание. Очевидно, вы измените это, чтобы добавить больше <td>
элементов, чтобы сделать больше столбцов, но для краткости я просто отредактирую <th>
и дам вам представление о том, как использовать ifelse в этом случае .
То, как я, вероятно, сделаю это, должен сделать ваш код почти идентичным в обоих местах условного выражения и иметь if else, разделяющий код. таким образом, вы можете играть с выравниванием, чтобы убедиться, что оба они выглядят правильно для своих уникальных случаев.
<div [formGroup]="collateralSummaryData">
<table class="table" *ngIf="isMicro(); else else_statment">
<tr>
<th class="table-us50"></th>
<th class="table-us50" colspan="6">Internal Appraiser</th>
<th class="table-us50" colspan="1">Risk Analyst</th>
<th class="table-us50" colspan="3">CDD Specialist</th>
<th class="table-us50" colspan="1"></th>
<th class="table-microcolumn" colspan="1"></th>
</tr>
... etc
</table>
<ng-template #else_statment>
<div [formGroup]="collateralSummaryData">
<table class="table" *ngIf="isMicro(); else else_statment">
<tr>
<th class="table-us50"></th>
<th class="table-us50" colspan="6">Internal Appraiser</th>
<th class="table-us50" colspan="1">Risk Analyst</th>
<th class="table-us50" colspan="3">CDD Specialist</th>
<th class="table-us50" colspan="1"></th>
<th class="table-microcolumn" colspan="1"></th>
</tr>
... etc
</ng-template>
Простой ответ (но все может не совпадать с тем, как вы хотите) просто добавить желаемый столбец если isMicro () имеет значение true.
<div [formGroup]="collateralSummaryData">
<table class="table">
<tr>
<th class="table-us50"></th>
<th class="table-us50" colspan="6">Internal Appraiser</th>
<th class="table-us50" colspan="1">Risk Analyst</th>
<th class="table-us50" colspan="3">CDD Specialist</th>
<th class="table-us50" colspan="1"></th>
<th class="table-us50" colspan="1" *ngIf="isMicro()"></th>
</tr>
<td class="table-us36">Nr.</td>
<td class="table-us36">Time collateral registration process/ Koha e regjistrimit te procesit te kolateralit</td>
<td class="table-us36">Collateral Type/ Tipi kolateralit</td>
<td class="table-us36">Property number/ Numri I pasurise</td>
<td class="table-us36">Property name/ Emri i pasurise</td>
<td class="table-us36">Other details/Detaje te tjera</td>
<td class="table-us36">Vlera e prones varet ne menyre materiale nga kapaciteti I kredimarresit</td>
<td class="table-us36">Risku i klientit varet ne menyre materiale nga performanca e prones/projektit</td>
<td class="table-us36">Prona eshte regjistruar ne favor te bankes</td>
<td class="table-us36">Prona konvertohet ne cash brenda nje kohe te arsyeshme</td>
<td class="table-us36">Kontrata e hipotekes paraqet nje titull ekzekutiv per pasurine</td>
<td class="table-us36">Name of owner/ Emri i zoteruesit</td>
<tr formArrayName="COLLATERAL_BRANCH" *ngFor="let collateralBranch of collateralSummaryData['controls']['COLLATERAL_BRANCH']['controls']; let i=index">
<ng-container [formGroupName]="i">
<td class="table-us36">{{i + 1}}</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_INTERNAL_APPRAISER.TIME_COL_REG}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_INTERNAL_APPRAISER.IA_COL_TYPE}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_INTERNAL_APPRAISER.IA_PROPERTY_NO}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_INTERNAL_APPRAISER.IA_PROPERTY_NAME}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_INTERNAL_APPRAISER.IA_OTHER_DETAILS}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_INTERNAL_APPRAISER.IA_HOW_PROPERTY_IS_MEASURED}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_RISK_ANALYST.RA_CLIENT_RISK}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_CCD_SPECIALIST.CDD_PROPERTY_REGISTRATION}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_CCD_SPECIALIST.CDD_PROPERTY_CONVERT_TO_CASH}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_CCD_SPECIALIST.CDD_MORTGAGE_CONTRACT}}
</td>
<td class="table-us36">
{{collateralBranch.value.COLLATERAL_ELIGIBILITY_CCD_SPECIALIST.CDD_NAME_OF_OWNER}}
</td>
</ng-container>
</tr>
</table>
</div>
Простой неполный обзор ngIf * vs ngShow *:
, если вы пытаетесь удалить элементы DOM всей таблицы, вы можете использовать * ngIf
(что выглядит вашей второй строкой в HTML)
<table class="table" *ngIf="!isMicro()">
, если вы пытаетесь просто «спрятать» таблицу и сохранить ее в DOM вы можете использовать * ngIf
<table class="table" *ngShow="!isMicro()">
Решите, какой из них будет использоваться, основываясь на том, как эта страница используется и что вы связываете. Одним из примеров является то, что вам нужно часто и быстро скрывать и скрывать. Если это так, * ngShow дешевле на стороне исполнения.