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.
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í.