Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 12922|Απάντηση: 0

[ιωνικός] Συμβάντα κύκλου ζωής σελίδας ionic3 (άγκιστρα)

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 21/6/2018 10:30:06 π.μ. | | | |
Από την εμπειρία μου, οι περισσότεροι μαθητές γνωρίζουν αυτήν την έννοια. Εάν δεν γνωρίζετε πολλά, τότε πρέπει να γνωρίζετε ότι το πρόγραμμα περιήγησης θα ενεργοποιήσει ένα συμβάν onload όταν φορτώνεται μια ιστοσελίδα και συνήθως χρησιμοποιούμε τη μέθοδο $(document).load() στο window.onload ή στο jquery για να ορίσουμε τι πρέπει να κάνει μια ιστοσελίδα όταν φορτώνεται.



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

1. Κατανοήστε το άγκιστρο του ιοντικού κύκλου ζωής
Από το Ionic 3.8.0, το πλαίσιο παρέχει 8 λειτουργίες αγκίστρου που ενεργοποιούνται σε διάφορα στάδια του κύκλου ζωής της σελίδας.

1.1 ionViewDidLoad
Το έναυσμα ολοκλήρωσης φόρτωσης σελίδας, εδώ το "load complete" αναφέρεται στην κατάσταση της σελίδας που έχουν φορτωθεί οι απαιτούμενοι πόροι, αλλά δεν έχουν εισέλθει ακόμη στην κατάσταση της σελίδας (ο χρήστης εξακολουθεί να βλέπει την προηγούμενη σελίδα).

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

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

1.2 ionViewWillEnter
Η κυριολεκτική κατανόηση είναι η στιγμή «μπαίνω», όταν η σελίδα μόλις αρχίζει να αλλάζει. Μπορείτε να προεπεξεργαστείτε τα δεδομένα της σελίδας σε αυτό το σημείο και αυτό το άγκιστρο θα καλείται κάθε φορά.

1.3 ionViewDidEnter
Όταν ενεργοποιηθεί αυτό το άγκιστρο, ο χρήστης έχει εισέλθει σε μια νέα σελίδα (η σελίδα είναι ενεργή) και θα καλείται κάθε φορά.

Μιλώντας για αυτό, πρέπει να παρέμβω, η ονομασία των αγκίστρων από την ionic είναι πολύ φιλική προς την πλειοψηφία των Κινέζων φοιτητών και ένας θα λύσει το πρόβλημα. Σε αντίθεση με ορισμένα λαμπερά (λάθος) πλαίσια έξω, υπάρχουν ένα σωρό έτοιμα, ενημέρωση, συμμόρφωση, ιστορία κ.λπ., θυμηθείτε μια φορά και ξεχάστε μια φορά. (Φυσικά, αυτό είναι ένα αστείο, η ονομασία των στοιχείων σχετίζεται στενά με τον μηχανισμό λειτουργίας του πλαισίου)

1.4 ionViewWillLeave
Το Page Ready (πρόκειται να) ενεργοποιείται όταν ο χρήστης έχει μόλις ενεργοποιήσει το κουμπί επιστροφής ή το σχετικό συμβάν.

1.5 ionViewDidLeave
Ενεργοποιείται όταν ολοκληρωθεί η σελίδα, η σελίδα είναι ανενεργή.

1.6 ionViewWillUnload
Ενεργοποιείται όταν ένας πόρος σε μια σελίδα πρόκειται να καταστραφεί, θα μαντέψατε ότι αυτό το άγκιστρο, όπως το ionViewDidLoad, θα ενεργοποιηθεί μόνο μία φορά;

1.7 Δοκιμές
Ας πάρουμε τη σελίδα που δημιουργήσαμε στην προηγούμενη ενότητα και ας κάνουμε μια δοκιμή για τη φόρτωση του γάντζου.
Στην προηγούμενη ενότητα, εφαρμόσαμε τη διαδικασία μετάβασης από την Αρχική σελίδα στη Δοκιμαστική Σελίδα χρησιμοποιώντας κουμπιά και τώρα προσθέτουμε τα παραπάνω έξι άγκιστρα στη Δοκιμαστική Σελίδα και παρατηρούμε την επίκλησή τους μέσω της κονσόλας.

Ο κώδικας ενότητας θέματος σελίδας έχει ως εξής

Σημειώστε ότι πρόσθεσα επίσης μια δοκιμαστική δήλωση στον κατασκευαστή. Ανοίξτε το Serve debugging, κάντε κλικ στο κουμπί, μεταβείτε στο TestPage και παρατηρήστε τι εξάγει η κονσόλα.


Πρώτη φορά στη σελίδα

Επιστρέψτε στην αρχική σελίδα και παρατηρήστε τι εξάγει η κονσόλα.

Έξοδος από τη σελίδα για πρώτη φορά

Μπείτε και βγείτε ξανά από τη Δοκιμαστική Σελίδα και παρατηρήστε τι εξάγει η κονσόλα.

Δεύτερη είσοδος και έξοδος

Μπορούν να εξαχθούν τα ακόλουθα συμπεράσματα:

  • Ο κατασκευαστής ενεργοποιείται πριν από το ionViewDidLoad
  • Το ionViewDidLoad ενεργοποιείται μόνο όταν εισέρχεστε για πρώτη φορά στη σελίδα
  • Το ionViewWillUnload ενεργοποιείται μετά από κάθε φορά που φεύγετε από τη σελίδα


2. Υπάρχουν επίσης δύο προστατευτικά άγκιστρα

Ανέφερα στην αρχή ότι το ionic προσφέρει 8 αγκίστρια, ενώ εγώ εισήγαγα μόνο 6. Τα πρώτα 6 άγκιστρα έχουν ένα κοινό σημείο και οι τιμές επιστροφής τους είναι όλες άκυρες, δηλαδή καλούνται την αντίστοιχη στιγμή και δεν επιστρέφουν καμία πληροφορία.

Τα άλλα δύο άγκιστρα είναι λίγο διαφορετικά, είναι το ionViewCanEnter και το ionViewCanLeave, τα οποία μπορούν να επιστρέψουν booleans.
Κοιτάξτε, μόλις μίλησα για χρόνους και τώρα θα μιλήσω για τροπικά ρήματα. Εάν τα πρώτα 6 άγκιστρα είναι μια παθητική απάντηση της σελίδας στην επίσκεψη του χρήστη, τότε τώρα, η σελίδα έχει τη συνείδηση να σας επιτρέψει να έρθετε ή να σας επιτρέψει να πάτε, α, η σελίδα έχει σηκωθεί από εδώ και πέρα!

Αυτά τα δύο άγκιστρα παίζουν περισσότερο ρόλο στον έλεγχο της εξουσίας, και πρόσφατα υπάρχει ένας πολύ μοντέρνος όρος που ονομάζεται Φρουρά, πώς να καταλάβετε αυτόν τον φύλακα, μπορείτε να τον καταλάβετε ως τον φύλακα της κοινότητας, τον συμπαθητικό διευθυντή και τον παλιό αγριόγαλο 2333 με χιλιάδες στάσεις στο αρχαίο κτίριο με άνθη βερίκοκου.

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


Η πρόσβαση στη σελίδα έχει αποκλειστεί


Ομοίως, εάν θέλετε να φύγετε σε μια σελίδα, εάν το ionViewCanLeave επιστρέψει false, θα αποκλειστείτε.


Η επιχείρηση επιστροφής αναχαιτίζεται


Εκτυπωμένες πληροφορίες κονσόλας

3 Περίληψη

Αχ, όχι άλλες ανοησίες, για να συνοψίσουμε, το Ionic έχει τα ακόλουθα άγκιστρα κύκλου ζωής

  • Το ionViewDidLoad καλείται η πρώτη φορά που επιστρέφει το void
  • Το ionViewWillEnter επιστρέφει άκυρο κάθε φορά που καλείται
  • Το ionViewDidEnter επιστρέφει άκυρο κάθε φορά που καλείται
  • Το ionViewWillLeave επιστρέφει άκυρο κάθε φορά που καλείται
  • Το ionViewDidLeave επιστρέφει άκυρο κάθε φορά που καλείται
  • Το ionViewWillUnload επιστρέφει άκυρο κάθε φορά που καλείται
  • Το ionViewCanEnter επιστρέφει boolean κάθε φορά που καλείται
  • Το ionViewCanLeave επιστρέφει boolean κάθε φορά που καλείται






Προηγούμενος:Ionic Development Android App Practice (3): Λίστα βίντεο ειδήσεων
Επόμενος:Πάροχος ionic3
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com