ng-href |
AngularJS |
---|---|
JavaScript |
Syntaxe
<a ng-href="string"> ... </a> |
Paramètres
Nom | Description |
---|---|
string | Ce paramètre permet d'indiquer une valeur de chaîne de caractères ou une expression résultante dans une chaîne de caractères. |
Description
Cette directive permet d'indiquer l'URL d'une balise A.
Remarques
- Objectif principal : La directive ng-href permet de définir dynamiquement la valeur de l'attribut href d'un lien (<a>), en fonction d'une expression AngularJS. Cela garantit que l'attribut est évalué uniquement après le rendu et la compilation du modèle, évitant des erreurs ou des comportements indésirables.
- Problème résolu par ng-href : En utilisant directement l'attribut href de HTML avec des expressions AngularJS (comme {{}}), les navigateurs peuvent interpréter temporairement la valeur non résolue comme une URL littérale (par exemple {{url}}). Cela peut provoquer des erreurs ou redirections inattendues. ng-href élimine ce problème en attendant que l'expression soit évaluée.
- Syntaxe et utilisation : La syntaxe est simple et suit le format AngularJS habituel : <a ng-href="{{url}}">Lien dynamique</a>. Ici, url est une variable de l'étendue étant insérée dynamiquement dans l'attribut href.
- Sécurité accrue : En combinant ng-href avec des expressions AngularJS, il est possible de contrôler précisément les liens générés. Cela est utile pour éviter des injections ou redirections accidentelles en validant ou en nettoyant les données dans le contrôleur.
- Compatibilité avec le routage AngularJS : ng-href fonctionne parfaitement avec le système de routage AngularJS ($routeProvider) en permettant de construire dynamiquement des liens vers des vues spécifiques. Cela facilite la navigation basée sur les états ou les paramètres du modèle.
- Évaluation différée : L'attribut ng-href n'est ajouté au DOM qu'après l'évaluation complète de l'expression AngularJS. Cela garantit qu'aucun lien invalide ou incomplet ne soit visible ou cliquable par l'utilisateur avant que le modèle ne soit prêt.
- Gestion des liens dynamiques : ng-href est particulièrement utile pour les applications nécessitant des liens dépendants de données, comme des tableaux interactifs ou des menus contextuels. Il peut être combiné avec des directives comme ng-repeat pour générer une liste dynamique de liens.
- Interaction avec les navigateurs : Certains navigateurs (en particulier les anciens) peuvent afficher des liens avec des valeurs invalides lorsque href est utilisé directement avec des expressions AngularJS. L'utilisation de ng-href assure une meilleure compatibilité et un comportement plus robuste dans ces situations.
Dernière mise à jour : Dimanche, le 9 décembre 2018