Tot el que heu de saber sobre Factory a AngularJS



Aquest article us proporcionarà un coneixement detallat i exhaustiu de Factory a AngularJS i de com es diferencia d’un servei.

proporciona serveis que són objectes singleton reutilitzables. Es poden utilitzar per compartir el codi entre les aplicacions AngularJS dels usuaris. També es poden injectar en directives, filtres i . En aquest article, entendreem la fàbrica d’AngularJS.

Què és Factory a AngularJS?

Factory és una funció angular que s’utilitza per retornar els valors. La fàbrica crea un valor a la carta sempre que un servei o controlador ho necessiti. Un cop creat el valor, es torna a utilitzar per a tots els serveis i controladors.





Logotip angular: fàbrica a AngularJS

Podem utilitzar la fàbrica per crear un servei.



diferència entre el mapa de hash i la taula de hash

Diferència entre servei i fàbrica

  • Un servei es pot definir de la següent manera:

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

this.sayHola = function () {



console.log ( 'Hola')

}

})

El mètode .service () pren el nom i la funció que defineix el servei. El podem injectar de la següent manera:

app.controller ('AppController', funció (FirstService) {

FirstService.sayHola () // logs 'Hola'

})

  • Una fàbrica, en canvi, es pot definir de la següent manera:

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

tornar {

sayHola: function () {

console.log ( 'Hola')

}

}

})

factory () també és un mètode que pren un nom i una funció que defineix la fàbrica. El podem injectar de la mateixa manera que injectar un servei. La diferència principal entre un servei i una fàbrica és que nosaltres retorna un objecte literal en el cas de fàbrica (en lloc d’utilitzar-ho). La raó és que el servei és una funció constructora mentre que una fàbrica no ho és.

programació de sòcol de servidor client en Java
  • Per obtenir una millor comprensió, fem una ullada a la funció de fàbrica ():

function factory (nom, factFn, aplicar) {

proveïdor de retorn (nom, {

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

})

}

Al codi indicat anteriorment, pren el nom i la funció de fàbrica passada. Torna un proveïdor amb el mateix nom, juntament amb un$ aconseguirmètode (que és la funció de fàbrica). Això es deu al motiu pel qual sempre que es demana a l’injector una dependència específica, l’injectador demana al proveïdor una instància d’aquest servei trucant al$ get ()mètode.

  • En injectar FirstService, les funcions de fàbrica es diuen:

FirstServiceProvider. $ Get () // retorna la instància del servei

  • Per al codi de servei:

servei de funcions (nom, constructor) {

tornar fàbrica (nom, ['$ injector', funció ($ injector)) {

torna $ injector.instantiate (constructor)

}])

}

Quan truquemservei (), fàbrica ()és el que realment es diu. Això es fa passant una funció que demana a l'injector que el constructor instancie un objecte. En termes més senzills, el servei crida a una fàbrica predefinida.

$ injector.instantiate ()crida alObject.create ()amb la funció constructora. Per això això s’utilitza en serveis.

Exemple de fàbrica en JavaScript

var firstModule = angular.module ('primerMòdul', [])

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

torna 'un valor'

})

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

què és una classe anònima a Java

console.log (firstFactory)

})

Injecció de valors a la fàbrica

Es pot injectar un valor a la fàbrica mitjançant el mètode següent:

var firstModule = angular.module ('primerMòdul', [])

firstModule.value ('numberValue', 29)

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

console.log (númeroValor)

})

NOTA: Cal tenir en compte que s’injecta el valor produït per la funció de fàbrica, no la funció de fàbrica en si.

Amb això, arribem al final d’aquest article de Factory a AngularJS. Espero que entengueu què és exactament una fàbrica i com es diferencia d'un servei.

Cfes un cop d'ull al per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 250.000 estudiants satisfets repartits per tot el món. Angular és un marc JavaScript que s’utilitza per crear aplicacions web escalables, empresarials i de rendiment del client. Com que l’adopció de marc angular és elevada, la gestió del rendiment de l’aplicació es basa en la comunitat de manera indirecta i genera millors oportunitats laborals. La formació sobre certificació angular té com a objectiu cobrir tots aquests nous conceptes entorn del desenvolupament d'aplicacions empresarials.