Všetko, čo potrebujete vedieť o továrni v AngularJS



Tento článok vám poskytne podrobné a komplexné znalosti o aplikácii Factory in AngularJS a o tom, ako sa líši od Služby.

poskytuje služby, ktoré sú opakovane použiteľnými jedinými objektmi. Môžu byť použité na zdieľanie kódu medzi užívateľskými aplikáciami AngularJS. Môžu sa tiež vpichovať do smerníc, filtrov a . V tomto článku pochopíme továreň v AngularJS.

Čo je továreň v AngularJS?

Factory je uhlová funkcia, ktorá sa používa na vrátenie hodnôt. Hodnotu na požiadanie vytvára továreň, kedykoľvek to služba alebo kontrolór potrebuje. Po vytvorení hodnoty sa znova použije pre všetky služby a radiče.





Uhlové logo - továreň v AngularJS

Továreň môžeme použiť na vytvorenie služby.



Rozdiel medzi servisom a továrňou

  • Službu je možné definovať nasledujúcim spôsobom:

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

this.sayHola = function () {



console.log („Dobrý deň“)

}

})

Metóda .service () má názov a funkciu, ktorá definuje službu. Môžeme ho vpichnúť nasledujúcim spôsobom:

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

FirstService.sayHello () // prihlási „ahoj“

})

  • Továreň môže byť na druhej strane definovaná nasledujúcim spôsobom:

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

návrat {

sayHola: function () {

fibonacci c ++ kód

console.log („Dobrý deň“)

}

}

})

factory () je tiež metóda, ktorá prevezme názov a funkciu, ktorá definuje továreň. Môžeme ju vložiť rovnakým spôsobom ako injekciu do služby. Hlavný rozdiel medzi službou a továrňou je v tom, že my vrátiť objekt doslovný v prípade továrne (namiesto použitia tejto). Dôvodom je, že služba je funkciou konštruktora, zatiaľ čo továreň nie.

  • Pre lepšie pochopenie sa pozrime na továrenské funkcie ():

function factory (name, factFn, enforce) {

poskytovateľ vrátenia tovaru (meno, {

$ get: vynútiť! == false? enforceReturnValue (name, factFn): factFn

})

}

V kóde uvedenom vyššie preberá meno a odovzdanú továrenskú funkciu. Vráti poskytovateľa s rovnakým menom spolu s a$ dostaťmetóda (čo je továrenská funkcia). Je to z dôvodu, že kedykoľvek je injektor požiadaný o konkrétnu závislosť, injektor požiada poskytovateľa o inštanciu tejto služby zavolaním na$ get ()metóda.

  • Po vstreknutí produktu FirstService sa továrenské funkcie nazývajú:

FirstServiceProvider. $ Get () // vráti inštanciu služby

  • Pre servisný kód:

funkčná služba (meno, konštruktor) {

vrátiť továreň (názov, ['$ injector', function ($ injector) {

vrátiť $ injector.instantiate (konštruktor)

}]))

}

Keď volámeslužba (), továreň ()je ten, ktorý sa v skutočnosti volá. To sa deje odovzdaním funkcie, ktorá požiada injektor o vytvorenie inštancie objektu konštruktérom. Zjednodušene povedané, služba volá preddefinovanú továreň.

$ injector.instantiate ()žiadaObject.create ()s funkciou konštruktora. Preto toto sa používa v službách.

Ukážka továrne v JavaScripte

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

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

vrátiť 'hodnotu'

})

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

console.log (firstFactory)

})

Vkladanie hodnôt do továrne

vložiť php do $ tabuľky

Hodnotu je možné vložiť do továrne nasledujúcim spôsobom:

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

firstModule.value ('numberValue', 29)

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

console.log (numberValue)

})

POZNÁMKA: Je potrebné poznamenať, že je vložená hodnota produkovaná továrenskou funkciou, nie samotná továrenská funkcia.

Týmto prichádzame na koniec tohto článku Factory in AngularJS. Dúfam, že ste pochopili, čo presne je továreň a v čom sa líši od služby.

C.sakra autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 250 000 spokojných študentov rozmiestnených po celom svete. Angular je framework jazyka JavaScript, ktorý sa používa na vytváranie škálovateľných, podnikových a výkonných webových aplikácií na strane klienta. Pretože je prijatie uhlového rámca vysoké, riadenie výkonu aplikácie je riadené komunitou a nepriamo poháňa lepšie pracovné príležitosti. Cieľom školenia Angular Certification Training je pokryť všetky tieto nové koncepty vývoja podnikových aplikácií.