32 votes

Cas d'utilisation d'AngularJS et de JQuery

Je suis un programmeur JQuery qui cherche à utiliser AngularJS pour mon prochain projet. Après avoir lu cette excellente réponse sur la façon de "penser en Angular" au lieu d'inclure et d'utiliser JQuery, je me demande quels sont les bons cas d'utilisation qui existent pour utiliser JQuery + Angular. J'aimerais apporter un peu de familiarité à ma programmation Angular.

Citation de l'article de Stackoverflow :

"L'essentiel est le suivant : lorsque vous cherchez une solution, commencez par "penser en AngularJS" ; si vous ne trouvez pas de solution, demandez à la communauté ; si après tout cela, il n'y a pas de solution facile, entonces n'hésitez pas à prendre le jQuery".

Quand dois-je utiliser JQuery ?

15voto

Neil Points 4528

AngularJS est un framework complexe dont la courbe d'apprentissage est modérée à forte. JQuery n'est pas un framework mais une bibliothèque. Si vous cherchez à construire une application à page unique, en particulier une application CRUD, AngularJS est une bonne solution car il offre une liaison de données bidirectionnelle, un routage (important pour les applications à page unique), ainsi que de nombreuses autres fonctionnalités.

Il utilise jQlite, un sous-ensemble de jQuery, mais il a une opinion bien arrêtée sur la façon dont les applications sont construites, ce qui signifie que vous devez avoir une solide compréhension de son fonctionnement. Vous devrez comprendre les contrôleurs, les services et les directives et savoir pourquoi vous ne devez mettre à jour le DOM que dans les directives.

Les applications monopages peuvent être réalisées en utilisant uniquement jQuery, mais vous devrez gérer vous-même l'aspect "framework" des choses.

Si vous incluez jQuery avant AngularJS, il sera remplacé par jQlite. Pour vous familiariser avec les principes fondamentaux et vous armer de connaissances pour prendre des décisions quant à son utilisation, consultez les documents suivants d'excellentes vidéos sur egghead.io .

Quand recourir à jQuery

Vous faites appel à jQuery lorsque vous ne pouvez pas faire quelque chose à la manière d'Angular, c'est-à-dire souvent lorsque vous vous trouvez à la limite du framework.

Exemples :

Par exemple, Angular ne permet pas de désactiver des éléments dans un élément de sélection. Dans ce cas, il faut utiliser jQuery pour écouter un événement de changement sur la sélection et manipuler l'interface utilisateur soi-même à partir d'une directive. Voir la mise à jour ci-dessous .

Si vous utilisez une bibliothèque tierce par exemple, vous devrez peut-être déclencher un événement à l'aide de jQuery et le récupérer dans le code de la tierce partie ou ailleurs. Vous trouverez ici jQuery ou quelque chose comme pubsub inestimable.

UPDATE

En ce qui concerne les capacités de routage, je recommande vivement l'excellent logiciel UI-Router au lieu d'un routeur prêt à l'emploi.

UPDATE v2

Angular 1.4 prend désormais en charge la désactivation des options dans un élément de sélection.

14voto

Coder1 Points 3444

Je pense que les mots clés dans la citation de votre question sont "*si après tout cela il n'y a pas de facile solution*"

Je me demande quels bons cas d'utilisation existent pour l'utilisation de JQuery + Angular.

Cas d'utilisation : Un projet sur lequel je travaille utilise le composant "reveal" de Zurb Foundation pour une fenêtre modale, que j'apprécie particulièrement. Il complète bien l'application sur laquelle je travaille. Bien sûr, il existe un projet Angular UI qui comporte une fenêtre modale, mais j'ai préféré reveal dans ce cas.

Ce dernier a une dépendance à l'égard de JQuery. L'utilisateur blesh a répondu avec d'excellentes idées sur la façon d'incorporer ceci à la manière d'AngularJS. aquí .

Après quelques recherches, si vous concluez que vous pouvez faire quelque chose beaucoup plus facilement avec JQuery, faites-le, mais veillez à intégrer le composant à la manière d'AngularJS.

C'est en tout cas ce que je pense.

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