0

J'ajoute un ng-clic dans une ng-repeat, je veux obtenir le seul élément dans la boucle, ça marche bien mais seulement une fois.Angulaire, Appeler une fonction avec ng-click ne fonctionne qu'une seule fois avec ng-route

ng-repeat="item in Playlist.item" ng-click="getSingleItem(item)" 

dans mon contrôleur

$ scope.getSingleItem = function (item) { console.log (point); }

Si je clique sur je reçois l'objet item dans mon journal de console, ce clic est un href et m'envoie à la page suivante avec ng-route. Mais si je retourne en arrière et clique sur le même lien ou un autre lien, ça ne marchera pas.

il ne tire qu'une seule fois.

MISE À JOUR! Je viens de découvrir que ma propre directive href et le ng-click ne fonctionnent qu'une seule fois, mais si j'ajoute simplement un timeout $ dans ma propre directive, cela fonctionnera.

+0

IL DEVRAIT ÊTRE: ng-repeat = "item dans Playlist.item" ng-click = "getSingleItem (item)" – Ved

+0

Je sais, c'est juste une copie pas d'erreur sur stackoverflow. Je découvre que cela fonctionne avec ma propre directive et le fonctionnement ng-click d'arrêt, mais cela fonctionne si j'ajoute juste un $ timeout dans ma directive. – Gino

+0

@Gino vous devriez poster votre réponse, si vous en avez un. – DDelgro

Répondre

0

Vous avez une erreur dans votre code HTML. Il vous manque une virgule dans cette ligne. Cela devrait être:

ng-repeat="item in Playlist.item" ng-click="getSingleItem(item)"

1

Je ne sais pas si vous avez affiché le bon code, votre ng-clic doit être placé à l'extérieur ng répétition,

ng-repeat="item in Playlist.item" ng-click="getSingleItem(item)" 
0

Je ne sais pas ce que vous êtes faire après le ng-repeat puisque votre message n'a pas d'autre code, mais je suppose que c'est parce que vous n'êtes pas listant les éléments que vous avez dans le ng-repeat.

Je l'ai fait quelque chose comme ce qui a fonctionné:

<div> 
    <table> 
     <thead> 
      <tr> 
       <td>Item</td> 
      </tr> 
     </thead> 
     <tbody ng-repeat="item in Playlist.item" ng-click="getSignleItem(item)"> 
      <tr> 
       <td>{{item}}</td> 
      </tr> 
     </tbody> 
    </table> 
</div> 

Vous devriez maintenant être en mesure de le faire, cliquez sur l'élément figurant dans le tableau qui exécute alors le ng-clic passer l'élément cliqué.

À la votre!