Viskas, ką reikia žinoti apie „AngularJS“ gamyklą



Šis straipsnis suteiks jums išsamių ir išsamių žinių apie „Factory in AngularJS“ ir kuo ji skiriasi nuo paslaugos.

teikia paslaugas, kurios yra daugkartinio naudojimo pavieniai objektai. Jie gali būti naudojami bendrinti kodą tarp vartotojų „AngularJS“ programų. Jie taip pat gali būti švirkščiami į direktyvas, filtrus ir . Šiame straipsnyje mes suprasime „AngularJS“ gamyklą.

Kas yra „AngularJS“ gamykla?

Gamykla yra kampinė funkcija, naudojama vertėms grąžinti. Vertę pagal pareikalavimą sukuria gamykla, kai to reikia paslaugai ar valdikliui. Sukūrus vertę, ji vėl naudojama visoms paslaugoms ir valdikliams.





„Angular Logo“ - gamykla AngularJS

Mes galime naudoti gamyklą paslaugai sukurti.



Aptarnavimo ir gamyklos skirtumas

  • Paslaugą galima apibrėžti taip:

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

this.sayHola = funkcija () {



console.log („Sveiki“)

}

})

.Service () metodas apima pavadinimą ir funkciją, apibrėžiančią paslaugą. Mes galime jį suleisti tokiu būdu:

app.controller („AppController“, funkcija („FirstService“) {

rubino ant bėgių interneto programa

FirstService.sayHello () // užregistruoja „Hello“

})

  • Kita vertus, gamyklą galima apibrėžti taip:

app.factory („FirstService“, funkcija () {

grįžti {

sayHola: funkcija () {

console.log („Sveiki“)

}

}

})

gamykla () taip pat yra metodas, kuriam priklauso pavadinimas ir funkcija, apibrėžianti gamyklą. Mes galime jį suleisti taip pat, kaip suleisti paslaugą. Pagrindinis skirtumas tarp paslaugos ir gamyklos yra tas, kad mes grąžinti daiktą pažodžiui gamyklos atveju (užuot naudojus tai). Priežastis ta, kad paslauga yra konstruktoriaus funkcija, o gamykla - ne.

  • Norėdami geriau suprasti, pažvelkime į gamyklos funkciją ():

function factory (pavadinimas, factFn, vykdyti) {

grąžinimo paslaugų teikėjas (vardas, {

$ get: priversti! == klaidinga? enforceReturnValue (vardas, faktasFn): faktasFn

})

}

Aukščiau pateiktame kode jis užima pavadinimą ir perduotą gamyklos funkciją. Jis grąžina tiekėją tuo pačiu pavadinimu kartu su$ gautimetodas (kuris yra gamyklos funkcija). Taip yra dėl tos priežasties, kad kai tik prašoma, kad purkštukas būtų susijęs su konkrečia priklausomybe, jis kreipiasi į paslaugų teikėją paskambindamas$ get ()metodas.

  • Švirkščiant „FirstService“, gamyklos funkcijos vadinamos:

FirstServiceProvider. $ Get () // grąžina paslaugos egzempliorių

  • Norėdami gauti paslaugos kodą:

funkcijos paslauga (vardas, konstruktorius) {

grąžinti gamyklą (pavadinimas, ['$ injector', funkcija ($ injector) {

grąžinti $ injector.instantiate (konstruktorius)

}])

}

maksimalus kaupo diegimas java

Kai paskambinsimepaslauga (), gamykla ()yra tas, kuris iš tikrųjų vadinamas. Tai daroma perduodant funkciją, kurios prašoma, kad inžektorius konstruktorius išaiškintų objektą. Paprasčiau tariant, aptarnavimas iškviečia iš anksto nustatytą gamyklą.

$ injector.instantiate ()skambinaObject.create ()su konstruktoriaus funkcija. Štai kodėl tai yra naudojamas paslaugose.

Gamyklos „JavaScript“ pavyzdys

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

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

grąžinti „a value“

})

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

console.log (firstFactory)

})

Vertybių įpurškimas į gamyklą

Vertę į gamyklą galima įvesti tokiu metodu:

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

firstModule.value ('numberValue', 29)

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

console.log (numberValue)

})

PASTABA: Reikia pažymėti, kad įvedama gamyklos funkcijos sukurta vertė, o ne pati gamyklos funkcija.

Tai pasiekėme „AngularJS“ gamyklos pabaigą. Tikiuosi, kad supratote, kas iš tikrųjų yra gamykla ir kuo ji skiriasi nuo paslaugos.

CHeck out sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje. „Angular“ yra „JavaScript“ sistema, naudojama kurti keičiamo dydžio, įmonės ir našumo kliento žiniatinklio programas. Kadangi „Angular Framework“ pritaikymas yra didelis, programos efektyvumo valdymas yra netiesiogiai skatinamas geresnių darbo galimybių. „Angular Certification Training“ tikslas - aptarti visas šias naujas įmonių programų kūrimo koncepcijas.