Kaikki mitä sinun tarvitsee tietää AngularJS: n tehtaasta



Tämä artikkeli antaa sinulle yksityiskohtaisen ja kattavan tiedon tehtaasta AngularJS: ssä ja siitä, miten se eroaa palvelusta.

tarjoaa palveluja, jotka ovat uudelleenkäytettäviä yksittäisiä esineitä. Niitä voidaan käyttää koodin jakamiseen käyttäjien AngularJS-sovellusten kesken. Ne voidaan myös injektoida direktiiveihin, suodattimiin ja . Tässä artikkelissa ymmärrämme AngularJS: n tehtaan.

Mikä on tehdas AngularJS: ssä?

Tehdas on kulmatoiminto, jota käytetään palauttamaan arvot. Tehdas luo tarpeen mukaan arvon aina, kun palvelu tai ohjain sitä tarvitsee. Kun arvo on luotu, sitä käytetään uudelleen kaikissa palveluissa ja ohjaimissa.





Angular Logo - Tehdas AngularJS: ssä

Voimme käyttää tehtaan palvelun luomiseen.



Ero palvelun ja tehtaan välillä

  • Palvelu voidaan määritellä seuraavasti:

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

this.sayHola = funktio () {



console.log ('Hei')

}

})

.Service () -menetelmä ottaa nimen ja toiminnon, joka määrittelee palvelun. Voimme pistää sen seuraavalla tavalla:

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

FirstService.sayHello () // kirjaa 'Hei'

})

  • Toisaalta tehdas voidaan määritellä seuraavasti:

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

paluu {

sayHola: funktio () {

console.log ('Hei')

}

}

})

tehdas () on myös menetelmä, joka ottaa nimen ja toiminnon, joka määrittelee tehtaan. Voimme pistää sen samalla tavalla kuin palvelun pistäminen. Suurin ero palvelun ja tehtaan välillä on se, että me palauta objektin kirjaimellinen tehtaan tapauksessa (tämän sijaan). Syynä on se, että palvelu on rakentajatoiminto, kun taas tehdas ei.

miten hashmap otetaan käyttöön
  • Jotta ymmärrys olisi parempi, katsotaanpa tehtaan toimintoa ():

function factory (nimi, factFn, pakottaa) {

palautuspalvelun tarjoaja (nimi, {

$ get: pakota! == false? enforceReturnValue (nimi, factFn): factFn

})

}

Yllä annetussa koodissa se ottaa nimen ja hyväksytyn tehdasfunktion. Se palauttaa palveluntarjoajan, jolla on sama nimi, sekä a$ getmenetelmä (joka on tehtaan toiminto). Tämä johtuu syystä, että aina kun injektorilta kysytään tiettyä riippuvuutta, injektori kysyy palveluntarjoajalta kyseisen palvelun esiintymää soittamalla$ get ()menetelmä.

Microsoft sql -opetusohjelma aloittelijoille
  • Kun pistät FirstServicen, tehtaan toiminnot kutsutaan:

FirstServiceProvider. $ Get () // palauttaa palvelun ilmentymän

  • Huoltokoodi:

funktiopalvelu (nimi, rakentaja) {

palauta tehdas (nimi, ['$ injector', funktio ($ injector) {

palauta $ injector.instantiate (konstruktori)

}])

}

Kun soitammepalvelu (), tehdas ()on se, jota todella kutsutaan. Tämä tapahtuu ohittamalla funktio, joka pyytää injektoria rakentamaan objektin. Yksinkertaisesti sanottuna palvelu kutsuu ennalta määritettyä tehtaata.

$ injector.instantiate ()kutsuuObject.create ()konstruktoritoiminnolla. Siksi Tämä käytetään palveluissa.

Esimerkki tehtaasta JavaScriptissä

var firstModule = kulmamoduuli ('firstModule', [])

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

palauta 'arvo'

})

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

console.log (firstFactory)

})

Arvojen ruiskuttaminen tehtaaseen

Arvo voidaan syöttää tehtaalle seuraavalla menetelmällä:

var firstModule = kulmamoduuli ('firstModule', [])

firstModule.value ('numberValue', 29)

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

console.log (numberValue)

})

HUOMAUTUS: On huomattava, että syötetään tehdasfunktion tuottama arvo, ei itse tehdasfunktio.

Tämän avulla olemme päässeet tehtaan AngularJS-artikkeliin. Toivon, että sait käsityksen siitä, mikä tarkalleen on tehdas ja miten se eroaa palvelusta.

Chelvetti Edureka, luotettava verkko-oppimisyritys, jolla on yli 250 000 tyytyväisen oppijan verkosto, joka levisi ympäri maailmaa. Angular on JavaScript-kehys, jota käytetään skaalautuvien, yritys- ja suorituskykyisten asiakaspuolen verkkosovellusten luomiseen. Kulmakehyksen käyttöönoton ollessa korkea sovelluksen suorituskyvyn hallinta on yhteisölähtöistä, välillisesti parempia työmahdollisuuksia. Angular Certification -koulutuksen tarkoituksena on kattaa kaikki nämä uudet konseptit yrityssovellusten kehittämisen ympärillä.