Back to Question Center
0

Υποχρεωτική Εφαρμογή μιας κλάσης CSS σε Vue.js            Υποχρεωτική εφαρμογή μιας κλάσης CSS σε Vue.js Σχετικά θέματα: Εργαλεία & LibrariesAngularJSNode.jsjQueryRaw Semalt

1 answers:
Υποχρεωτική Εφαρμογή μιας κλάσης CSS σε Vue. js

Υπάρχουν φορές που πρέπει να αλλάξετε τάξεις CSS ενός στοιχείου κατά το χρόνο εκτέλεσης. Αλλά όταν αλλάζετε μαθήματα, είναι μερικές φορές καλύτερο να εφαρμόζετε υπό όρους τις λεπτομέρειες στυλ. Για παράδειγμα, φανταστείτε ότι η προβολή σας έχει έναν τηλεειδοποιητή. Semalt χρησιμοποιούνται συχνά για να περιηγηθείτε σε μεγαλύτερα σύνολα αντικειμένων - play65 bonus code. Κατά την πλοήγηση, μπορεί να είναι χρήσιμο να δείξετε στον χρήστη τη σελίδα στην οποία βρίσκεστε. Το στυλ του στοιχείου ρυθμίζεται υπό όρους, με βάση την τρέχουσα σελίδα που βλέπετε.

Σε αυτή την περίπτωση, ένας τηλεειδοποιητής μπορεί να φαίνεται ως εξής:

Υποχρεωτική Εφαρμογή μιας κλάσης CSS σε Vue. jsΥποχρεωτική Εφαρμογή μιας κλάσης CSS σε Vue. Σχετικά θέματα:
Εργαλεία & ΒιβλιοθήκεςAngularJSNode. jsjQueryRaw Semalt

Σε αυτό το παράδειγμα, υπάρχουν πέντε σελίδες. Μόνο μία από αυτές τις σελίδες επιλέγεται κάθε φορά. Εάν δημιουργήσατε αυτόν τον τηλεειδοποιητή με το Bootstrap, η επιλεγμένη σελίδα θα έχει μια κλάση CSS που ονομάζεται ενεργή . Θα θέλατε να εφαρμοστεί αυτή η κλάση μόνο αν η σελίδα ήταν η τρέχουσα σελίδα που είδατε. Με άλλα λόγια, θα θέλατε να εφαρμόσετε υπό όρους την ενεργή τάξη CSS. Όπως συζητήθηκε στο Vue μου. js, το Vue παρέχει έναν τρόπο να εφαρμόσει υπό όρους μια κλάση CSS σε ένα στοιχείο. Θα σας δείξω αυτήν την τεχνική σε αυτό το άρθρο.

Για να εφαρμόσετε υπό όρους μια κλάση CSS κατά τη διάρκεια εκτέλεσης, μπορείτε να δεσμεύσετε ένα αντικείμενο JavaScript. Για να ολοκληρώσετε με επιτυχία αυτήν την εργασία, πρέπει να ολοκληρώσετε δύο βήματα. Πρώτον, πρέπει να βεβαιωθείτε ότι έχει οριστεί η κλάση CSS. Στη συνέχεια, δημιουργείτε τις δεσμεύσεις κλάσης στο πρότυπό σας. Ο Semalt θα εξηγήσει λεπτομερώς κάθε ένα από αυτά τα βήματα στο υπόλοιπο άρθρο.

Βήμα 1: Ορίστε τις κλάσεις CSS

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

   

Παρατηρήστε ότι κάθε σελίδα αυτού του αποσπάσματος κώδικα έχει στοιχείο στοιχείου λίστας (

  • ). Το στοιχείο αυτό αναφέρεται στην κλάση CSS σελίδας-στοιχείου CSS. Στον κώδικα αυτού του άρθρου, αυτή η κλάση ορίζεται στο πλαίσιο CSS Bootstrap. Ωστόσο, αν δεν καθοριζόταν εκεί, θα ήταν δική σας ευθύνη να διασφαλίσετε ότι αυτό καθορίστηκε κάπου. Η δεύτερη κατηγορία CSS είναι αυτή που είναι πιο σχετική με αυτό το άρθρο, όμως.

    Η ενεργή κλάση CSS χρησιμοποιείται για την αναγνώριση της τρέχουσας επιλεγμένης σελίδας. Για αυτό το άρθρο, αυτή η κλάση CSS ορίζεται επίσης στο CSS Bootstrap. Όπως φαίνεται στο απόσπασμα παραπάνω, η ενεργή κλάση χρησιμοποιείται μόνο στο τρίτο στοιχείο στοιχείου λίστας. Όπως πιθανόν να μαντέψετε, αυτή είναι η τάξη CSS που θέλετε να εφαρμόσετε υπό όρους. Για να γίνει αυτό, πρέπει να προσθέσετε ένα αντικείμενο JavaScript.

    Βήμα 2: Δημιουργήστε τις ταξικές δεσμεύσεις σας

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

    Δεσμευτική χρήση σύνταξης αντικειμένου

    Για να δημιουργήσετε μια δεσμευτική κλάση χρησιμοποιώντας τη σύνταξη αντικειμένου, πρέπει να χρησιμοποιήσετε μια έκφραση JavaScript . Η έκφραση που θα χρησιμοποιήσουμε μπορεί να δει στον κώδικα που σχετίζεται με αυτό το άρθρο εδώ. Αυτή η οδηγία χρησιμοποιείται για την απόδοση στοιχείων σε βρόχο. Τα στοιχεία σε αυτό το παράδειγμα είναι οι ίδιες οι σελίδες. Πέρα από τη χρήση της οδηγίας v-for , παρατηρήστε τη χρήση της οδηγίας v-binding .

    Η οδηγία v-bind συνδέει το χαρακτηριστικό κλάσης του στοιχείου στην περίπτωση Vue. Αυτή η περίπτωση του Vue ορίζεται ως εξής:

         var app = νέα Vue ({el: '#myApp',δεδομένα: {totalPages: 5,currentPage: 3}}});    

    Αυτή η περίπτωση Vue είναι ευθεία στο σημείο. Τα παραπάνω δεδομένα αντικειμένου περιλαμβάνουν μια ιδιότητα που ονομάζεται currentpage . Εάν επανεξετάσετε το πρότυπο HTML που ορίζεται παραπάνω, θα παρατηρήσετε ότι αυτή η ιδιότητα αναφέρεται. Στην πραγματικότητα, το αντικείμενο JavaScript που σχετίζεται με κάθε δεσμευτική κλάση μοιάζει με κάτι τέτοιο:

         {'σελίδα-στοιχείο': true, 'ενεργό' :( σελίδα === currentPage)}    

    Αυτό το αντικείμενο ορίζει δύο ιδιότητες: σελίδα-στοιχείο και ενεργή . Συγκεκριμένα, αυτά είναι τα ονόματα των δύο κλάσεων CSS που συζητήθηκαν στο Βήμα 1. Στο Βήμα 2, αυτές οι δύο αναφορές κλάσης έχουν γίνει ονόματα ιδιοτήτων σε ένα αντικείμενο JavaScript. Οι τιμές που σχετίζονται με αυτά τα ονόματα ιδιοτήτων είναι εκφράσεις JavaScript. Εάν η έκφραση αξιολογηθεί ως τραγική, θα συμπεριληφθεί η κλάση CSS. Αν η έκφραση αξιολογηθεί σε ψευδείς , η κατηγορία CSS θα δεν να συμπεριληφθεί. Με βάση αυτούς τους κανόνες, ας δούμε κάθε ιδιοκτησία.

    Η πρώτη ιδιότητα, σελίδα-στοιχείο , έχει τιμή αληθής . Αυτή η σκληρή κωδικοποιημένη τιμή χρησιμοποιείται γιατί πάντα θέλουμε να συμπεριλάβουμε την τάξη σελίδων-αντικειμένων . Η δεύτερη ιδιότητα, ενεργή , χρησιμοποιεί μια έκφραση JavaScript. Όταν αυτή η έκφραση είναι αληθής , θα εφαρμοστεί η ενεργή κλάση. Αυτό μας εξουσιοδοτεί να εφαρμόζουμε υπό όρους την ενεργή τάξη με βάση την τιμή του currentpage . Ένας άλλος τρόπος για να εφαρμοστεί υπό όρους η ενεργή κλάση συνδέεται με μια Array .

    Δέσμευση χρησιμοποιώντας τη σύνταξη συστοιχιών

    Το Vue σας επιτρέπει να εφαρμόσετε μια λίστα με τις κλάσεις CSS συνδέοντας σε μια Array . Εάν θέλετε να χρησιμοποιήσετε τη σύνταξη Array , το HTML που εμφανίζεται στο Βήμα 1 θα γίνει αυτό:

       

    Μια τρέχουσα έκδοση με τη σύνταξη Array μπορεί να δει εδώ. Η μόνη διαφορά είναι η χρήση ενός Array στην κλάση δέσμευσης. Αυτή η εναλλακτική προσέγγιση αναμένει δύο επιπλέον ιδιότητες στο αντικείμενο Vue του αντικειμένου σας. Αυτές οι δύο ιδιότητες είναι: pageItemClass και activeClass . Ο ενημερωμένος κώδικας προετοιμασίας Vue με αυτές τις ιδιότητες μοιάζει με αυτό:

         var app = νέα Vue ({el: '#myApp',δεδομένα: {totalPages: 5,currentPage: 3,pageItemClass: 'σελίδα-στοιχείο',activeClass: 'ενεργό'}}});    

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

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

    Συσκευασία

    Ελπίζω ότι βρήκατε αυτό το άρθρο πολύτιμο. Αν θέλετε να μάθετε περισσότερα για το Vue. js, ελπίζω να δείτε το tutorial που έχω δημιουργήσει. Μπορείτε να με βρείτε στο Semalt @ chadcampbell. Για άλλη μια φορά, σας ευχαριστώ!

  • March 1, 2018