Semua yang Anda Perlu Tahu Mengenai Kilang di AngularJS



Artikel ini akan memberi anda pengetahuan terperinci dan komprehensif mengenai Factory in AngularJS dan bagaimana ia berbeza dengan Perkhidmatan.

menyediakan perkhidmatan yang boleh digunakan semula sebagai objek tunggal. Mereka dapat digunakan untuk berkongsi kod di aplikasi pengguna AngularJS. Mereka juga dapat disuntikkan ke dalam arahan, filter, dan . Dalam artikel ini, kita akan memahami kilang di AngularJS.

Apakah Kilang di AngularJS?

Factory adalah fungsi sudut yang digunakan untuk mengembalikan nilai. Nilai atas permintaan dibuat oleh kilang, setiap kali perkhidmatan atau pengawal memerlukannya. Setelah nilai dibuat, ia akan digunakan semula untuk semua perkhidmatan dan pengawal.





Logo Angular - Kilang di AngularJS

Kita boleh menggunakan kilang untuk membuat perkhidmatan.



Perbezaan Antara Perkhidmatan dan Kilang

  • Perkhidmatan boleh ditentukan dengan cara berikut:

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

ini.sayHola = fungsi () {



console.log ('Hello')

}

})

apa yang dilakukan oleh alert dalam javascript

Kaedah .service () mengambil nama dan fungsi yang menentukan perkhidmatan. Kita boleh menyuntiknya dengan cara berikut:

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

FirstService.sayHello () // log 'Hello'

})

  • Sebaliknya kilang boleh ditentukan dengan cara berikut:

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

kembali {

sayHola: fungsi () {

console.log ('Hello')

}

}

})

factory () juga merupakan kaedah yang mengambil nama dan fungsi yang menentukan kilang. Kita boleh menyuntiknya dengan cara yang sama seperti menyuntik perkhidmatan. Perbezaan utama antara perkhidmatan dan kilang adalah kita mengembalikan objek secara literal dalam kes kilang (bukannya menggunakan ini). Sebabnya ialah perkhidmatan adalah fungsi pembina sedangkan kilang tidak.

  • Untuk pemahaman yang lebih baik, mari kita lihat fungsi kilang ():

fkilang unction (nama, factFn, menguatkuasakan) {

penyedia pulangan (nama, {

$ get: menegakkan! == palsu? menegakkanReturnValue (nama, factFn): factFn

})

}

Dalam kod yang diberikan di atas, ia mengambil nama dan fungsi kilang yang dilalui. Ia mengembalikan penyedia dengan nama yang sama, bersama dengan a$ dapatkankaedah (yang merupakan fungsi kilang). Ini disebabkan oleh alasan bahawa setiap kali penyuntik diminta untuk ketergantungan tertentu, penyuntik meminta penyedia untuk mendapatkan contoh layanan itu dengan menghubungi$ dapatkan ()kaedah.

  • Semasa menyuntik FirstService, fungsi kilang dipanggil:

FirstServiceProvider. $ Get () // mengembalikan contoh perkhidmatan

  • Untuk kod perkhidmatan:

perkhidmatan fungsi (nama, pembina) {

regresi logistik dalam kod python

kembali kilang (nama, ['$ penyuntik', fungsi ($ penyuntik) {

pulangkan $ injector.instantiate (pembina)

}])

}

Semasa kita memanggilperkhidmatan (), kilang ()adalah yang sebenarnya disebut. Ini dilakukan dengan meneruskan fungsi yang meminta penyuntik untuk membuat objek oleh konstruktor. Dalam istilah yang lebih mudah, perkhidmatan memanggil kilang yang telah ditetapkan.

$ penyuntik.instantiate ()memanggilObject.create ()dengan fungsi pembina. Itulah sebabnya ini digunakan dalam perkhidmatan.

Contoh Kilang dalam JavaScript

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

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

mengembalikan 'nilai'

})

firstModule.controller ('FirstController', fungsi ($ lingkup, firstFactory) {

console.log (kilang pertama)

})

Menyuntik Nilai ke Kilang

Nilai boleh disuntik ke kilang dengan kaedah berikut:

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

firstModule.value ('numberValue', 29)

firstModule.controller ('FirstController', fungsi ($ lingkup, numberValue) {

console.log (numberValue)

})

CATATAN: Harus diingat bahawa nilai yang dihasilkan oleh fungsi kilang disuntik, bukan fungsi kilang itu sendiri.

Dengan ini, kita akan mengakhiri artikel Kilang ini dalam AngularJS. Saya harap anda dapat memahami apa sebenarnya kilang dan bagaimana ia berbeza dengan perkhidmatan.

Clihatlah oleh Edureka, sebuah syarikat pembelajaran dalam talian yang dipercayai dengan rangkaian lebih daripada 250,000 pelajar berpuas hati yang tersebar di seluruh dunia. Angular adalah kerangka kerja JavaScript yang digunakan untuk membuat aplikasi web sisi pelanggan yang berskala, perusahaan, dan prestasi. Dengan penggunaan rangka kerja Angular yang tinggi, pengurusan prestasi aplikasi digerakkan oleh masyarakat secara tidak langsung mendorong peluang pekerjaan yang lebih baik. Latihan Persijilan Angular bertujuan untuk merangkumi semua konsep baru di sekitar Pembangunan Aplikasi Perusahaan.