Impératif → déclarative
En jQuery, les sélecteurs sont utilisés pour trouver les DOM éléments et ensuite lier/enregistrer les gestionnaires d'événements. Lorsqu'un événement déclenche, que (impératif) le code s'exécute à mettre à jour/modifier le DOM.
Dans AngularJS, vous souhaitez réfléchir sur les points de vue plutôt que des éléments du DOM. Les vues sont (déclarative) HTML qui contiennent AngularJS directives. Les Directives de l'événement gestionnaires de derrière les coulisses pour nous et de nous donner de la dynamique de la liaison de données. Les sélecteurs sont rarement utilisés, de sorte que le besoin pour l'Id (et de certains types de classes) est fortement diminuée. Les vues sont liés à des modèles (via les étendues). Les vues sont une projection du modèle. Les événements de changement de modèles (qui est, les données, les propriétés de l'étendue), et le point de vue que le projet de ces modèles de mise à jour "automatique".
Dans AngularJS, pensez à des modèles, plutôt que de jQuery-sélectionné des éléments du DOM que la conservation de vos données. Pensez vues comme des projections de ces modèles, plutôt que d'enregistrer les callbacks pour manipuler ce que l'utilisateur voit.
La séparation des préoccupations
jQuery utilise JavaScript discret - le comportement (JavaScript) est séparé de la structure (HTML).
AngularJS utilise des contrôleurs et des directives (qui peuvent avoir leur propre contrôleur, et/ou de compiler et lier des fonctions) pour supprimer le comportement de la vue ou de la structure (HTML). Angulaire a aussi des services et des filtres pour séparer et organiser votre application.
Voir aussi http://stackoverflow.com/a/14346528/215945
La conception de l'Application
Une approche pour la conception d'une application AngularJS:
- Pensez à vos modèles. Créer des services ou vos propres objets JavaScript pour ces modèles.
- Pensez à comment vous voulez présenter vos modèles, vos points de vue. Créer des modèles HTML pour chaque vue, en utilisant les directives nécessaires pour obtenir la dynamique de la liaison de données.
- Joindre un contrôleur pour chaque point de vue (à l'aide de ng-view et de routage, ou ng-controller). Ont le contrôleur de trouver/obtenir seulement quel que soit le modèle de données de la vue a besoin pour faire son travail. Faire les contrôleurs aussi mince que possible.
Prototypes héritage
Vous pouvez faire beaucoup avec jQuery sans savoir à propos de comment JavaScript prototypes héritage fonctionne. Lors du développement d'applications AngularJS, vous permettra d'éviter certains pièges courants à éviter si vous avez une bonne connaissance de JavaScript héritage. Lecture recommandée: Quelles sont les nuances de portée prototypes / l'héritage par prototype dans AngularJS?