Alles, was Sie über Factory in AngularJS wissen müssen

In diesem Artikel erhalten Sie detaillierte und umfassende Kenntnisse über Factory in AngularJS und die Unterschiede zu einem Service.

Bietet Dienste, die wiederverwendbare Singleton-Objekte sind. Sie können verwendet werden, um den Code für die AngularJS-Anwendungen des Benutzers freizugeben. Sie können auch in Direktiven, Filter und injiziert werden . In diesem Artikel werden wir die Fabrik in AngularJS verstehen.

Was ist Factory in AngularJS?

Factory ist eine Winkelfunktion, mit der die Werte zurückgegeben werden. Ein Wert auf Abruf wird vom Werk erstellt, wann immer ein Service oder eine Steuerung ihn benötigt. Sobald der Wert erstellt wurde, wird er für alle Dienste und Controller wiederverwendet.



Angular Logo - Fabrik in AngularJS

Wir können die Fabrik nutzen, um einen Service zu erstellen.

Unterschied zwischen Service und Fabrik

  • Ein Dienst kann folgendermaßen definiert werden:

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

this.sayHola = function () {

console.log ('Hallo')

}}

})

Die .service () -Methode übernimmt den Namen und die Funktion, die den Service definiert. Wir können es folgendermaßen injizieren:

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

FirstService.sayHello () // protokolliert 'Hallo'

})

  • Eine Fabrik kann dagegen folgendermaßen definiert werden:

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

Rückkehr {

sayHola: function () {

console.log ('Hallo')

}}

}}

})

factory () ist auch eine Methode, die einen Namen und eine Funktion verwendet, die die Factory definieren. Wir können es genauso injizieren wie einen Service. Der Hauptunterschied zwischen Service und Fabrik besteht darin, dass wir Geben Sie ein Objektliteral zurück im Falle der Fabrik (anstatt diese zu verwenden). Der Grund ist, dass Service eine Konstruktorfunktion ist, eine Factory jedoch nicht.

  • Schauen wir uns zum besseren Verständnis die Factory-Funktion () an:

function factory (name, factFn, erzwingen) {

Rückgabeanbieter (Name, {

So konfigurieren Sie Eclipse für Java

$ get: erzwingen! == false? erzwingenReturnValue (Name, FaktFn): FaktFn

})

}}

In dem oben angegebenen Code werden der Name und die übergebene Factory-Funktion verwendet. Es gibt einen gleichnamigen Anbieter zusammen mit a zurück$ bekommenMethode (das ist die Werksfunktion). Dies liegt daran, dass der Injektor den Anbieter immer dann nach einer Instanz dieses Dienstes fragt, wenn er nach einer bestimmten Abhängigkeit gefragt wird$ get ()Methode.

  • Beim Injizieren von FirstService werden die Factory-Funktionen aufgerufen:

FirstServiceProvider. $ Get () // gibt die Instanz des Dienstes zurück

  • Für den Servicecode:

Funktionsservice (Name, Konstruktor) {

Fabrik zurückgeben (Name, ['$ Injektor', Funktion ($ Injektor) {

$ injor.instantiate (Konstruktor) zurückgeben

wie man Java Swing benutzt

}])

}}

Wenn wir anrufenservice (), fabrik ()ist derjenige, der tatsächlich genannt wird. Dazu wird eine Funktion übergeben, die den Injektor auffordert, ein Objekt durch den Konstruktor zu instanziieren. Einfacher ausgedrückt ruft der Service eine vordefinierte Fabrik auf.

$ Injektor.instantiate ()ruft dieObject.create ()mit der Konstruktorfunktion. Deswegen Dies wird in Diensten verwendet.

Beispiel für Factory in JavaScript

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

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

'a value' zurückgeben

})

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

console.log (firstFactory)

})

Werte in die Fabrik einspeisen

Ein Wert kann auf folgende Weise in die Fabrik eingespeist werden:

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

firstModule.value ('numberValue', 29)

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

console.log (numberValue)

})

HINWEIS: Es ist zu beachten, dass der von der Werksfunktion erzeugte Wert eingespeist wird, nicht die Werksfunktion selbst.

Damit sind wir am Ende dieses Factory in AngularJS-Artikels angelangt. Ich hoffe, Sie haben verstanden, was genau eine Fabrik ist und wie sie sich von einem Service unterscheidet.

C.verdammt noch mal von Edureka, einem vertrauenswürdigen Online-Lernunternehmen mit einem Netzwerk von mehr als 250.000 zufriedenen Lernenden auf der ganzen Welt. Angular ist ein JavaScript-Framework, mit dem skalierbare, unternehmens- und leistungsbasierte clientseitige Webanwendungen erstellt werden. Da die Akzeptanz des Angular-Frameworks hoch ist, ist das Leistungsmanagement der Anwendung indirekt von der Community gesteuert und führt zu besseren Beschäftigungsmöglichkeiten. Das Angular Certification Training zielt darauf ab, all diese neuen Konzepte rund um die Entwicklung von Unternehmensanwendungen abzudecken.