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?
- Différence entre le service et l'usine
- Exemple d'usine en JavaScript
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.
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$ obtenir
mé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.