Όλα όσα πρέπει να ξέρετε για το εργοστάσιο στο AngularJS

Αυτό το άρθρο θα σας δώσει μια λεπτομερή και περιεκτική γνώση του Factory in AngularJS και πώς διαφέρει από μια Υπηρεσία.

παρέχει υπηρεσίες που μπορούν να επαναχρησιμοποιηθούν μεμονωμένα αντικείμενα. Μπορούν να χρησιμοποιηθούν για την κοινή χρήση του κώδικα στις εφαρμογές των χρηστών AngularJS. Μπορούν επίσης να εγχυθούν σε οδηγίες, φίλτρα και . Σε αυτό το άρθρο, θα κατανοήσουμε το εργοστάσιο στο AngularJS.

Τι είναι το Factory in AngularJS;

Factory είναι μια γωνιακή συνάρτηση που χρησιμοποιείται για την επιστροφή των τιμών. Μια τιμή κατ 'απαίτηση δημιουργείται από το εργοστάσιο, όποτε χρειάζεται μια υπηρεσία ή ένας ελεγκτής. Μόλις δημιουργηθεί η τιμή, επαναχρησιμοποιείται για όλες τις υπηρεσίες και τους ελεγκτές.





Γωνιακό λογότυπο - Εργοστάσιο σε AngularJS

Μπορούμε να χρησιμοποιήσουμε το εργοστάσιο για να δημιουργήσουμε μια υπηρεσία.



Διαφορά μεταξύ σέρβις και εργοστασίου

  • Μια υπηρεσία μπορεί να οριστεί με τον ακόλουθο τρόπο:

app.service («FirstService», συνάρτηση () {

πώς να αρχικοποιήσετε ένα αντικείμενο στο python

this.sayHola = συνάρτηση () {



console.log («Γεια»)

}

})

Η μέθοδος .service () παίρνει το όνομα και τη συνάρτηση που καθορίζει την υπηρεσία. Μπορούμε να το εγχύσουμε με τον ακόλουθο τρόπο:

app.controller ('AppController', λειτουργία (FirstService) {

FirstService.sayHello () // logs «Γεια»

})

  • Ένα εργοστάσιο, από την άλλη πλευρά, μπορεί να οριστεί με τον ακόλουθο τρόπο:

app.factory («FirstService», συνάρτηση () {

ΕΠΙΣΤΡΟΦΗ {

sayHola: συνάρτηση () {

console.log («Γεια»)

}

}

})

factory () είναι επίσης μια μέθοδος που παίρνει ένα όνομα και μια συνάρτηση που καθορίζει το εργοστάσιο. Μπορούμε να το εγχύσουμε με τον ίδιο τρόπο με την ένεση μιας υπηρεσίας. Η κύρια διαφορά μεταξύ μιας υπηρεσίας και ενός εργοστασίου είναι ότι εμείς επιστρέψτε ένα αντικείμενο κυριολεκτικά στην περίπτωση του εργοστασίου (αντί να το χρησιμοποιείτε). Ο λόγος είναι ότι η υπηρεσία είναι μια κατασκευαστική λειτουργία, ενώ ένα εργοστάσιο δεν είναι.

  • Για καλύτερη κατανόηση, ας ρίξουμε μια ματιά στη εργοστασιακή λειτουργία ():

φάεργοστάσιο unction (όνομα, factFn, επιβολή) {

πάροχος επιστροφής (όνομα, {

$ get :force! == false; forceReturnValue (όνομα, factFn): factFn

})

}

Στον κωδικό που δίνεται παραπάνω, παίρνει το όνομα και τη λειτουργία εργοστασιακής μετάδοσης. Επιστρέφει έναν πάροχο με το ίδιο όνομα, μαζί με ένα$ πάρειμέθοδος (που είναι η εργοστασιακή λειτουργία). Αυτό οφείλεται στο γεγονός ότι κάθε φορά που ο εγχυτής ζητά μια συγκεκριμένη εξάρτηση, ο εγχυτής ζητά από τον πάροχο για μια παρουσία αυτής της υπηρεσίας καλώντας το$ get ()μέθοδος.

  • Κατά την ένεση του FirstService, οι εργοστασιακές λειτουργίες καλούνται:

FirstServiceProvider. $ Get () // επιστρέψτε την παρουσία της υπηρεσίας

  • Για τον κωδικό υπηρεσίας:

υπηρεσία λειτουργίας (όνομα, κατασκευαστής) {

επιστροφή εργοστασίου (όνομα, ['$ injector', function ($ injector) {

επιστροφή $ injector.instantiate (κατασκευαστής)

}])

}

Όταν καλούμευπηρεσία (), εργοστάσιο ()είναι αυτό που πραγματικά λέγεται. Αυτό γίνεται περνώντας μια συνάρτηση που ζητά από τον εγχυτήρα να δημιουργήσει ένα αντικείμενο από τον κατασκευαστή. Με πιο απλούς όρους, η υπηρεσία καλεί ένα προκαθορισμένο εργοστάσιο.

$ injector.instantiate ()καλεί τοObject.create ()με τη συνάρτηση κατασκευαστή. Αυτός είναι ο λόγος Αυτό χρησιμοποιείται στις υπηρεσίες.

Παράδειγμα Factory σε JavaScript

var firstModule = angular.module («firstModule», [])

firstModule.factory ('firstFactory', συνάρτηση () {

επιστροφή 'μια τιμή'

})

firstModule.controller («FirstController», συνάρτηση ($ εύρος, firstFactory) {

console.log (firstFactory)

})

Έγχυση τιμών στο εργοστάσιο

Μια τιμή μπορεί να εισαχθεί στο εργοστάσιο με την ακόλουθη μέθοδο:

var firstModule = angular.module («firstModule», [])

firstModule.value ('numberValue', 29)

firstModule.controller ('FirstController', function ($ εύρος, numberValue) {

console.log (numberValue)

})

ΣΗΜΕΙΩΣΗ: Πρέπει να σημειωθεί ότι η τιμή που παράγεται από την εργοστασιακή συνάρτηση εγχέεται, όχι η ίδια η εργοστασιακή λειτουργία.

Με αυτό, καταλήγουμε στο άρθρο αυτού του Factory στο AngularJS. Ελπίζω να καταλάβετε τι ακριβώς είναι ένα εργοστάσιο και πώς διαφέρει από μια υπηρεσία.

ντοδιάλεξε το από την Edureka, μια αξιόπιστη διαδικτυακή εταιρεία εκμάθησης με δίκτυο περισσότερων από 250.000 ικανοποιημένων μαθητών σε όλο τον κόσμο. Το Angular είναι ένα πλαίσιο JavaScript που χρησιμοποιείται για τη δημιουργία επεκτάσιμων, εταιρικών και επιδόσεων διαδικτυακών εφαρμογών πελάτη. Καθώς η υιοθέτηση του γωνιακού πλαισίου είναι υψηλή, η διαχείριση της απόδοσης της εφαρμογής βασίζεται στην κοινότητα, οδηγώντας έμμεσα καλύτερες ευκαιρίες εργασίας Η εκπαίδευση γωνιακής πιστοποίησης στοχεύει στην κάλυψη όλων αυτών των νέων εννοιών γύρω από την ανάπτυξη εφαρμογών επιχειρήσεων.