Вы можете определить директиву, как предлагает julianobrasil.
Я хочу указать другой способ достижения этого, используя Angular templates
.
Определите две кнопки, добавление и редактирование, отдельно. Поместите значение по умолчанию, где вы хотите визуализироваться
<div class="action-button" *ngIf="GuidId">
<!-- Add button -->
<button mat-button
data-pendo="pendo-add-loan"
(click)="add(...)"
class="round-button"
color="primary">
<i class="fal fa-plus"></i>
</button>
</div>
Затем определите тег ng-template
с другим определением кнопки. Полностью свободная sh новая.
<ng-template #edit-button>
<div class="action-button">
<!-- Edit button -->
<button mat-button
(click)="edit(...)"
data-pendo="pendo-edit-loan"
class="round-button"
color="primary">
<i class="fal fa-pencil"></i>
</button>
</div>
</ng-template>
Наконец, просто измените оператор *ngIf
, чтобы отобразить либо кнопку добавления, либо кнопку редактирования.
<div class="action-button" *ngIf="!GuidId else edit-button">
<!-- Add button here -->
</div>
Это способ это масштабируется, чтобы держать компоненты изолированными. Кнопки больше не связаны, поэтому вы можете реализовать без необходимости обуславливать каждый стиль, действие и т. Д. c.
Надеюсь, это поможет.