Avec angularjs, comment puis-je déclencher un clic, ou est-il un meilleur moyen?

Je suis de la création d'un assistant de création de formulaire avec AngularJS.

Pense de chaque fieldset comme suit:

<div ng-controller="MyController as fs">
  <fieldset>
      ...
      <button ng-click="fs.StepForward($event)">Next</button>
  </fieldset>

  <fieldset>
      ...
      <button ng-click="fs.StepBackward($event)">Previous</button>
      <button ng-click="fs.StepForward($event)">Next</button>
  </fieldset>
</div>

Ce que j'ai fait est, à mon contrôleur a estimé que les fieldset et le prochain jeu de champs comme suit:

app.controller("MyController", function() {
  var ft = this;
  ft.StepForward = function(event) {
    //It's here that I need to find the fieldset
    ft.current_fs = event.currentTarget.parentNode;
    ft.next_fs = event.currentTarget.parentNode.nextElementSibling;
  }
});

Alors d'abord, je ne suis pas sûr si ce est la meilleure manière absolue pour le faire, mais il fonctionne.

Vers le bas à ma principale question... à l'Intérieur de l'une des balises html fieldsets j'ai quelques li éléments, et si certains éléments sont cliqués, je veux déclencher un clic sur le bouton SUIVANT automatiquement.

J'ai essayé d'ajouter un ng-cliquez sur:

<fieldset>
  <ul>
    <li><a ng-click="fs.TriggerClick($event)">Some Itme</a></li>
  </ul>
  <button id="MyButtonTest" ng-click="fs.StepForward($event)">Next</button>
</fieldset>

app.controller("MyController", function() {
  var ft = this;
  ft.StepForward = function(event) {
    //It's here that I need to find the fieldset
    ft.current_fs = event.currentTarget.parentNode;
    ft.next_fs = event.currentTarget.parentNode.nextElementSibling;
  }

  ft.TriggerClick = function(event) {
    angular.element('#MyButtonTest').trigger('click');
  }
});

Mais lorsque j'ai créé une fonction pour déclencher un clic sur le bouton, j'ai obtenu l'erreur:

Error: $rootScope:inprog Action Already In Progress

Je suis donc en voulant toucher à jQuery, mais je suis sûr qu'il ya une angulaire moyen de le faire.

où est le fs.TriggerClick fonction de votre contrôleur?
Je l'ai enlevé après avoir fait d'erreur, mais ça va être de retour dans mon exemple en 10 secondes environ, après ce commentaire 🙂
J'ai trouvé des réponses à certaines questions liées à l'erreur "inprog" mais qui m'a conduit à la question de savoir si je dois être la manipulation choses différemment.

OriginalL'auteur user1447679 | 2015-04-27