Tout ce que vous devez savoir sur Factory dans AngularJS



Cet article vous fournira une connaissance détaillée et complète de Factory dans AngularJS et en quoi il diffère d'un service.

fournit des services qui sont des objets singleton réutilisables. Ils peuvent être utilisés pour partager le code entre les applications AngularJS des utilisateurs. Ils peuvent également être injectés dans des directives, des filtres et . Dans cet article, nous allons comprendre l'usine dans AngularJS.

Qu'est-ce que Factory dans AngularJS?

Factory est une fonction angulaire utilisée pour renvoyer les valeurs. Une valeur à la demande est créée par l'usine, chaque fois qu'un service ou un contrôleur en a besoin. Une fois la valeur créée, elle est réutilisée pour tous les services et contrôleurs.





Logo angulaire - Usine dans AngularJS

Nous pouvons utiliser l'usine pour créer un service.



Différence entre le service et l'usine

  • Un service peut être défini de la manière suivante:

app.service ('FirstService', function () {

this.sayHola = function () {



console.log ('Bonjour')

}

})

La méthode .service () prend le nom et la fonction qui définit le service. Nous pouvons l'injecter de la manière suivante:

interface de marqueur dans l'exemple java

app.controller ('AppController', fonction (FirstService) {

FirstService.sayHello () // enregistre 'Hello'

})

  • Une usine, par contre, peut être définie de la manière suivante:

app.factory ('FirstService', function () {

revenir {

sayHola: function () {

console.log ('Bonjour')

}

}

})

factory () est également une méthode qui prend un nom et une fonction qui définit la fabrique. On peut l'injecter de la même manière que l'injection d'un service. La principale différence entre un service et une usine est que nous renvoie un objet littéral dans le cas de l'usine (au lieu de l'utiliser). La raison en est que le service est une fonction de constructeur alors qu'une fabrique ne l'est pas.

  • Pour une meilleure compréhension, jetons un œil à la fonction d'usine ():

Fonction factory (nom, factFn, enforce) {

fournisseur de retour (nom, {

$ get: enforce! == false? enforceReturnValue (nom, factFn): factFn

})

}

Dans le code donné ci-dessus, il prend le nom et la fonction d'usine passée. Il renvoie un fournisseur du même nom, accompagné d'un$ obtenirméthode (qui est la fonction d'usine). Cela est dû au fait que chaque fois que l'injecteur est invité pour une dépendance spécifique, l'injecteur demande au fournisseur une instance de ce service en appelant le$ get ()méthode.

  • Lors de l'injection de FirstService, les fonctions d'usine sont appelées:

FirstServiceProvider. $ Get () // retourne l'instance du service

  • Pour le code de service:

service de fonction (nom, constructeur) {

return factory (nom, ['$ injector', function ($ injector) {

return $ injector.instantiate (constructeur)

comment utiliser des fichiers en java

}])

}

Quand on appelleservice (), usine ()est celui qui est réellement appelé. Cela se fait en passant une fonction qui demande à l'injecteur d'instancier un objet par le constructeur. En termes plus simples, le service appelle une usine prédéfinie.

$ injector.instantiate ()appelle leObject.create ()avec la fonction constructeur. C'est pourquoi cette est utilisé dans les services.

Exemple d'usine en JavaScript

var firstModule = angular.module ('premierModule', [])

firstModule.factory ('firstFactory', function () {

renvoie 'une valeur'

})

firstModule.controller ('FirstController', function ($ scope, firstFactory) {

console.log (firstFactory)

})

Injection de valeurs dans l'usine

Une valeur peut être injectée en usine par la méthode suivante:

var firstModule = angular.module ('premierModule', [])

firstModule.value ('numberValue', 29)

firstModule.controller ('FirstController', function ($ scope, numberValue) {

console.log (numberValue)

})

REMARQUE: Il faut noter que la valeur produite par la fonction d'usine est injectée, et non la fonction d'usine elle-même.

Avec cela, nous arrivons à la fin de cet article Factory in AngularJS. J'espère que vous avez compris ce qu'est exactement une usine et en quoi elle diffère d'un service.

Cdiable le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 250 000 apprenants satisfaits répartis dans le monde entier. Angular est un framework JavaScript utilisé pour créer des applications Web évolutives, d'entreprise et performantes côté client. L'adoption du cadre angulaire étant élevée, la gestion des performances de l'application est indirectement dirigée par la communauté, ce qui génère de meilleures opportunités d'emploi. La formation de certification angulaire vise à couvrir tous ces nouveaux concepts autour du développement d'applications d'entreprise.