Viss, kas jums jāzina par AngularJS rūpnīcu

Šis raksts sniegs jums detalizētas un visaptverošas zināšanas par rūpnīcu AngularJS un to, kā tas atšķiras no pakalpojuma.

sniedz pakalpojumus, kas ir atkārtoti lietojami atsevišķi objekti. Tos var izmantot, lai koplietotu kodu lietotāju AngularJS lietojumprogrammās. Tos var ievadīt arī direktīvās, filtros un . Šajā rakstā mēs sapratīsim AngularJS rūpnīcu.



Kas ir rūpnīca AngularJS?

Rūpnīca ir leņķa funkcija, kuru izmanto vērtību atgriešanai. Vērtību pēc pieprasījuma rada rūpnīca, kad vien tas ir nepieciešams kādam pakalpojumam vai kontrolierim. Kad vērtība ir izveidota, tā tiek atkārtoti izmantota visiem pakalpojumiem un kontrolieriem.



Angular Logo - rūpnīca AngularJS

Mēs varam izmantot rūpnīcu, lai izveidotu pakalpojumu.



Atšķirība starp pakalpojumu un rūpnīcu

  • Pakalpojumu var definēt šādi:

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

this.sayHola = funkcija () {



console.log (“Sveiki”)

}

})

Metode .service () ņem nosaukumu un funkciju, kas nosaka pakalpojumu. Mēs to varam injicēt šādi:

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

FirstService.sayHello () // reģistrē “Hello”

})

  • Savukārt rūpnīcu var definēt šādi:

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

atgriezties {

sayHola: funkcija () {

console.log (“Sveiki”)

}

}

})

factory () ir arī metode, kas ņem nosaukumu un funkciju, kas nosaka rūpnīcu. Mēs to varam injicēt tāpat kā injicējot pakalpojumu. Galvenā atšķirība starp pakalpojumu un rūpnīcu ir tā, ka mēs atgriezt objektu burtisku rūpnīcas gadījumā (tā vietā, lai to izmantotu). Iemesls ir tas, ka pakalpojums ir konstruktora funkcija, turpretī rūpnīca nav.

  • Lai labāk izprastu, apskatīsim rūpnīcas funkciju ():

function factory (nosaukums, factFn, izpildīt) {

atgriešanas pakalpojumu sniedzējs (nosaukums, {

$ get: izpildīt! == false? enforceReturnValue (nosaukums, faktsFn): faktsFn

})

}

Iepriekš norādītajā kodā tas aizņem vārdu un nodoto rūpnīcas funkciju. Tas atgriež pakalpojumu sniedzēju ar tādu pašu nosaukumu kopā ar$ getmetodi (kas ir rūpnīcas funkcija). Tas ir saistīts ar iemeslu, ka ikreiz, kad inžektoram tiek lūgta konkrēta atkarība, inžektors lūdz pakalpojumu sniedzējam norādīt šo pakalpojumu, zvanot uz$ get ()metodi.

  • Injicējot FirstService, rūpnīcas funkcijas tiek sauktas:

FirstServiceProvider. $ Get () // atgriež pakalpojuma instanci

  • Pakalpojuma kodam:

funkciju pakalpojums (nosaukums, konstruktors) {

atgriezt rūpnīcu (nosaukums, ['$ injector', funkcija ($ injector) {

atgriezt $ injector.instantiate (konstruktors)

}])

}

Kad mēs piezvanāmserviss (), rūpnīca ()ir tā, kuru faktiski sauc. Tas tiek darīts, nododot funkciju, kas inžektoram prasa, lai konstruktors izstaro objektu. Vienkāršāk sakot, pakalpojums izsauc iepriekš noteiktu rūpnīcu.

$ injector.instantiate ()aicinaObject.create ()ar konstruktora funkciju. Tāpēc šo tiek izmantots pakalpojumos.

Rūpnīcas piemērs JavaScript

var firstModule = leņķa modulis ('firstModule', [])

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

atgriezt vērtību

})

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

console.log (firstFactory)

})

Injicējot vērtības rūpnīcā

Vērtību var ievadīt rūpnīcā ar šādu metodi:

noklusējuma vērtība virknei Java

var firstModule = leņķa modulis ('firstModule', [])

firstModule.value ('numberValue', 29)

firstModule.controller ('FirstController', funkcija ($ sfēra, numberValue) {

console.log (numberValue)

})

PIEZĪME: Jāatzīmē, ka tiek ievadīta vērtība, ko rada rūpnīcas funkcija, nevis pati rūpnīcas funkcija.

Ar to mēs esam nonākuši šīs rūpnīcas beigās AngularJS rakstā. Es ceru, ka jūs sapratāt, kas īsti ir rūpnīca un ar ko tā atšķiras no pakalpojuma.

Check out Autors: Edureka, uzticams tiešsaistes mācību uzņēmums ar vairāk nekā 250 000 apmierinātu izglītojamo tīklu visā pasaulē. Angular ir JavaScript sistēma, kuru izmanto, lai izveidotu mērogojamas, uzņēmuma un veiktspējas klienta puses tīmekļa lietojumprogrammas. Tā kā leņķa ietvara pieņemšana ir augsta, lietojumprogrammas veiktspējas pārvaldība netieši veicina labākas darba iespējas. Leņķiskās sertifikācijas apmācības mērķis ir aptvert visus šos jaunos jēdzienus, kas saistīti ar uzņēmuma lietojumprogrammu attīstību.