web-dev-qa-db-fra.com

Désactiver un lien dans angular 2+

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.

5
LDB

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""
...>
0
robert king