AngularJS: contrôleur vs service
J'ai lu quelques posts sur l'utilisation d'angularjs entités: des services, des usines, des contrôleurs et des directives.
Ma préoccupation est la comparaison d'un contrôleur et d'un service. Aucun des postes mais dit moi qu'est ce qu'un contrôleur peut faire ce service ne peut pas et vice versa.
Cela peut-il être listé ou est-ce juste une question d'être canonique angulaire de l'utilisation?
- Pour être juste, c'est le premier résultat que j'ai trouvé quand j'ai googlé. Donc, OP m'a fait un service en demandant.
- Tu ne peux pas passer le lien tranquillement?
Vous devez vous connecter pour publier un commentaire.
Contrôleurs sont généralement utilisés pour être lié avec une vue. Les contrôleurs de gérer un point de vue du cycle de vie, et doivent être considérés comme des Contrôleurs de Vue. Un nouveau contrôleur sera créé pour chaque instance d'un point de vue, ce qui signifie que si vous accédez à l'écart à partir d'un certain point de vue, et puis de nouveau - ou si vous avez plus d'une fois à l'instance d'un certain point de vue, un nouveau contrôleur sera créé à chaque fois.
Services sont généralement utilisés comme la logique métier de votre application. Les Services sont similaires à des singletons dans le sens qu'ils sont créés à la fois, et l'instance est maintenu pendant tout le cycle de vie de votre application. C'est un bon endroit pour mettre vos fonctions logiques qui de nombreux points de vue ou les composants, et maintenez-cache global qui doit être accessible à travers de multiples domaines dans votre application.
contrôleurs - responsabilités: initialiser le point de vue, la médiation de l'interaction entre la vue/champ d'application et des services. Il a des dépendances sur le modèle et de la vue, mais il est plus intéressé avec la vue et le faire fonctionner.
services - responsabilités: fournit des services d'affaires qui est pas dépend de la vue ou de la commande. Sa préoccupation principale est la prestation de services, indépendamment de la consommation (contrôleur/vue/autres services).
Je ne suis pas convaincu que si la persistance des facteurs dans les différences.
Que par la AngularJS documentation, https://docs.angularjs.org/guide/concepts
Contrôleurs sont à faire avec vue liés à la logique d'entreprise. Services, d'autre part, sont à faire avec réutilisables logique d'entreprise indépendants de l'opinion.
En plus de ce qui a été dit ci-dessus. Les contrôleurs peuvent également contenir la logique de votre application lorsque l'application n'est pas énorme. Mais comme vous l'application augmente la vous devez déplacer la logique d'utilisation des services(comme l'usine). Cela permettrait à des variables et des fonctions nécessaires à votre application d'être facilement accessible.