J'essaie de désactiver un lien jusqu'à ce qu'un appel d'API soit effectué dans Angular 6. Je veux que le lien soit désactivé jusqu'à ce que l'API getSelectedDealer () soit renvoyée.
<menu-link *ngIf="perms.has(perms.TOP_OFFERS) && _dealerPersistenceService.getSelectedDealer()"
route="/dynamic-journeys/{{getDealerId()}}/vehicles">
<menu-item><img src="/assets/menu-icons/top-offers.svg">Dynamic Journeys</menu-item>
</menu-link>
Voici le code du composant de balise 'a' et du CSS.
<a [routerLink]="route" routerLinkActive="active" class="menu-link" [class.disabled]="disabled ? true: null">
<ng-content select="menu-item"></ng-content>
a.disabled {
pointer-events: none;
cursor: default;
}
Fondamentalement, j'ai besoin que les éléments "menu-link" soient désactivés avant l'appel d'API et activés après.
Angular a besoin d'un moyen d'appliquer sélectivement les directives, mais voici ma solution:
<a
(click)="markAsRead(notification);notification.externalUrl || $event.preventDefault()"
[href]="notification.externalUrl"
target="_blank""
...>