Vse, kar morate vedeti o tovarni v AngularJS



Ta članek vam bo zagotovil podrobno in celovito znanje o Factory in AngularJS ter o tem, kako se razlikuje od storitve.

ponuja storitve, ki so enkratni predmeti za večkratno uporabo. Uporabljajo se lahko za skupno rabo kode med uporabniškimi aplikacijami AngularJS. Lahko jih vbrizgamo tudi v direktive, filtre in . V tem članku bomo razumeli tovarno v AngularJS.

Kaj je Factory v AngularJS?

Factory je kotna funkcija, ki se uporablja za vrnitev vrednosti. Vrednost na zahtevo ustvari tovarna, kadar koli jo potrebuje servis ali krmilnik. Ko je vrednost ustvarjena, se znova uporabi za vse storitve in krmilnike.





Angular Logo - tovarna v AngularJS

Tovarno lahko uporabimo za ustvarjanje storitve.



Razlika med servisom in tovarno

  • Storitev je mogoče opredeliti na naslednji način:

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

this.sayHola = function () {



console.log ('Pozdravljeni')

}

})

Metoda .service () prevzame ime in funkcijo, ki definirata storitev. Injiciramo si ga lahko na naslednji način:

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

FirstService.sayHello () // dnevniki 'Pozdravljeni'

})

  • Tovarno pa je mogoče opredeliti na naslednji način:

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

vrni {

sayHola: function () {

console.log ('Pozdravljeni')

}

}

})

factory () je tudi metoda, ki sprejme ime in funkcijo, ki definirata tovarno. Lahko si ga vbrizgamo na enak način kot vbrizgavanje storitve. Glavna razlika med storitvijo in tovarno je v tem, da mi vrne objektno dobesedno v primeru tovarne (namesto da bi to uporabljali). Razlog je v tem, da je storitev konstruktorska funkcija, medtem ko tovarna ni.

  • Za boljše razumevanje si oglejmo tovarniško funkcijo ():

function factory (ime, factFn, uveljavi) {

ponudnik vrnitve (ime, {

$ get: prisilno! == false? prisiliReturnValue (ime, factFn): factFn

})

}

V zgornji kodi zajema ime in preneseno tovarniško funkcijo. Vrne ponudnika z istim imenom, skupaj z$ dobitemetoda (kar je tovarniška funkcija). Razlog za to je, da kadar injektor vpraša za določeno odvisnost, injektor od ponudnika zahteva primerek te storitve, tako da pokliče$ dobite ()metoda.

  • Pri vbrizganju FirstService se pokličejo tovarniške funkcije:

FirstServiceProvider. $ Get () // vrne primerek storitve

  • Za kodo storitve:

storitev (ime, konstruktor) {

vrni tovarno (ime, ['$ injektor', funkcija ($ injektor) {

vrni $ injector.instantiate (konstruktor)

}]])

}

Ko pokličemostoritev (), tovarna ()je tista, ki se dejansko imenuje. To se naredi s posredovanjem funkcije, ki od injektorja zahteva, da konstruktor ustvari primerek. Preprosteje, storitev pokliče vnaprej določeno tovarno.

$ injector.instantiate ()pokličeObject.create ()s konstruktorsko funkcijo. Zato to se uporablja v storitvah.

Primer tovarne v JavaScript

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

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

vrni 'vrednost'

})

firstModule.controller ('FirstController', funkcija ($ obseg, firstFactory) {

console.log (firstFactory)

java, kaj doda dodatek

})

Vbrizgavanje vrednosti v tovarno

Vrednost lahko vbrizgate v tovarno z naslednjo metodo:

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

firstModule.value ('numberValue', 29)

firstModule.controller ('FirstController', funkcija ($ obseg, numberValue) {

console.log (numberValue)

})

OPOMBA: Upoštevati je treba, da se vbrizga vrednost, ki jo proizvede tovarniška funkcija, in ne tovarniška funkcija sama.

S tem smo končali to tovarno v članku AngularJS. Upam, da ste razumeli, kaj točno je tovarna in v čem se razlikuje od storitve.

Cpoglej Edureka, zaupanja vredno podjetje za spletno učenje z mrežo več kot 250.000 zadovoljnih učencev, ki se širijo po vsem svetu. Angular je ogrodje JavaScript, ki se uporablja za ustvarjanje razširljivih, poslovnih in zmogljivih spletnih aplikacij na strani odjemalca. Ker je sprejemanje ogrodja ogrodja visoko, upravljanje uspešnosti aplikacije posredno spodbuja boljše zaposlitvene možnosti. Namen usposabljanja za certificirano certificiranje je zajeti vse te nove koncepte o razvoju aplikacij v podjetju.