243 votes

Angular JS: Comment / quand utiliser ng-click pour appeler un itinéraire?

Supposons que vous utilisez itinéraires :

Et dans votre code html, vous souhaitez accéder à la page lorsque l’utilisateur clique sur un bouton. Une solution consisterait

... mais il semble que ng-clic serait utile ici aussi.

  1. Cette hypothèse est correcte ? Ce ng-clic être utilisé à la place d’ancrage ?
  2. Dans l’affirmative, comment cela fonctionnerait-il ? IE :

430voto

Josh David Miller Points 66508

Itinéraires de surveiller l'emplacement $service et de répondre aux changements dans l'URL (généralement par le biais de la table de hachage). Pour "activer" un itinéraire, il vous suffit de modifier l'URL. La façon la plus simple de le faire est avec des balises d'ancrage.

<a href="#/home">Go Home</a>
<a href="#/about">Go to About></a>

Rien de plus compliqué n'est nécessaire. Si, toutefois, vous devez le faire à partir du code, de la bonne façon est d'utiliser le $service de localisation vous-même:

$scope.go = function ( path ) {
  $location.path( path );
};

Qui, par exemple, un bouton permet de déclencher:

<button ng-click="go('/home')"></button>

83voto

sean Points 486

Voici un bon conseil que personne ne le mentionne. Dans le contrôleur de relève de la fonction, vous devez inclure le fournisseur d’emplacement :

33voto

Bennett McElwee Points 5750

À l’aide d’un attribut personnalisé (mis en œuvre par une directive) est peut-être le moyen le plus propre. Voici ma version, basée sur @Josh et des suggestions de @sean.

Il a quelques fonctionnalités utiles, mais je suis nouveau sur angulaire donc il y a probablement des choses à améliorer.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X