Je veux appeler une fonction dans ng-href et renvoyer le lien depuis la fonction.
Lorsque je clique sur la fonction, il envoie la page à cette fonction dans l'URL. Comme:
localhost/pageLink ()
<a ng-href="pagelink()" >Link</a>
Comment puis-je exécuter la fonction et renvoyer le lien correct?
L'interpolation pourrait faire l'affaire:
<a ng-href="{{pagelink()}}">Link</a>
Modifier:
Pour tous ceux qui se plaignent, que cela exécutera le code au démarrage: c'est exactement ce que doit faire! Il surveille la méthode pagelink
pour les modifications et met à jour l'attribut href
.
Les questions originales étaient:
Comment puis-je exécuter la fonction et renvoyer le lien correct?
pagelink()
ne doit pas gérer le routage mais renvoyer une chaîne pointant vers la route cible. Voir la documentation ngHref .
Si vous souhaitez gérer le routage par vous-même, vous devriez plutôt utiliser ngClick
, pas ngHref
.
En supposant que pagelink()
est à $rootScope
, vous utiliseriez ng-click
:
<a href="" ng-click="pagelink()">Link</a>
Vous avez besoin du href=""
pour que le navigateur change le curseur sur la souris.