Todo lo que necesita saber sobre la fábrica en AngularJS



Este artículo le proporcionará un conocimiento detallado y completo de Factory en AngularJS y en qué se diferencia de un servicio.

proporciona servicios que son objetos singleton reutilizables. Se pueden usar para compartir el código entre las aplicaciones de AngularJS de los usuarios. También se pueden inyectar en directivas, filtros y . En este artículo, entenderemos la fábrica en AngularJS.

¿Qué es Factory en AngularJS?

Factory es una función angular que se utiliza para devolver los valores. La fábrica crea un valor bajo demanda, siempre que un servicio o controlador lo necesite. Una vez que se crea el valor, se reutiliza para todos los servicios y controladores.





Logotipo angular - Fábrica en AngularJS

Podemos utilizar la fábrica para crear un servicio.



Diferencia entre servicio y fábrica

  • Un servicio se puede definir de la siguiente manera:

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

this.sayHola = function () {



console.log('Hola')

}

})

El método .service () toma el nombre y la función que define el servicio. Podemos inyectarlo de la siguiente manera:

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

FirstService.sayHola() // logs 'Hola'

que son chef y marioneta

})

  • Una fábrica, en cambio, se puede definir de la siguiente manera:

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

regreso {

sayHola: function () {

console.log('Hola')

}

}

})

factory () también es un método que toma un nombre y una función que define la fábrica. Podemos inyectarlo de la misma forma que inyectamos un servicio. La principal diferencia entre un servicio y una fábrica es que devolver un objeto literal en el caso de fábrica (en lugar de usar esto). La razón es que el servicio es una función de constructor, mientras que una fábrica no lo es.

  • Para una mejor comprensión, echemos un vistazo a la función de fábrica ():

Ffábrica de unción (nombre, factFn, hacer cumplir) {

proveedor de retorno (nombre, {

$ get: hacer cumplir! == falso? enforceReturnValue (nombre, factFn): factFn

})

}

En el código dado arriba, toma el nombre y la función de fábrica pasada. Devuelve un proveedor con el mismo nombre, junto con un$ obtenermétodo (que es la función de fábrica). Esto se debe a que cada vez que se le solicita al inyector una dependencia específica, el inyector solicita al proveedor una instancia de ese servicio llamando al$ obtener ()método.

  • Al inyectar FirstService, las funciones de fábrica se llaman:

FirstServiceProvider. $ Get () // devuelve la instancia del servicio

  • Para el código de servicio:

servicio de función (nombre, constructor) {

return factory (nombre, ['$ inyector', función ($ inyector) {

return $ injector.instantiate (constructor)

}])

}

Cuando llamamosservicio (), fábrica ()es el que realmente se llama. Esto se hace pasando una función que le pide al inyector que instancia un objeto por parte del constructor. En términos más simples, el servicio llama a una fábrica predefinida.

$ injector.instantiate ()llama alObject.create ()con la función constructora. Es por eso que esta se utiliza en servicios.

ciencia de datos que es

Ejemplo de Factory en JavaScript

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

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

devolver 'un valor'

})

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

console.log (firstFactory)

})

Inyectando valores en la fábrica

Se puede inyectar un valor en fábrica mediante el siguiente método:

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

firstModule.value ('numberValue', 29)

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

console.log (numberValue)

})

NOTA: Cabe señalar que se inyecta el valor producido por la función de fábrica, no la función de fábrica en sí.

Con esto, llegamos al final de este artículo de Factory in AngularJS. Espero que comprenda qué es exactamente una fábrica y en qué se diferencia de un servicio.

Cdiablos el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. Angular es un marco de JavaScript que se utiliza para crear aplicaciones web escalables, empresariales y de rendimiento del lado del cliente. Dado que la adopción del marco Angular es alta, la gestión del rendimiento de la aplicación está impulsada por la comunidad, lo que genera indirectamente mejores oportunidades laborales. La capacitación de certificación angular tiene como objetivo cubrir todos estos nuevos conceptos en torno al desarrollo de aplicaciones empresariales.