Penjelasan terperinci mengenai kaedah aplikasi bersyarat kelas CSS dalam Vue.js
mata teras:
- Dalam vue.js, aplikasi bersyarat kelas CSS boleh dilaksanakan dengan mengikat objek JavaScript ke atribut
class
. Atribut objek sesuai dengan nama kelas CSS, dan nilainya adalah ungkapan JavaScript, yang menentukan sama ada untuk memohon kelas. - vue.js menyediakan dua sintaks untuk membuat pengikatan kelas: sintaks objek dan sintaks array. Sintaks objek lebih ringkas, manakala sintaks array boleh membuat kod templat lebih jelas. Tatabahasa mana yang hendak dipilih bergantung kepada keutamaan peribadi.
- vue.js menyokong pelbagai kaedah mengikat kelas bersyarat, termasuk menggunakan pengendali ternary, sintaks objek untuk mengikat pelbagai kelas, menggunakan sifat yang dikira, menggabungkan kelas statik dan mengikat, dan gaya mengikat bersyarat.
Kadang -kadang kelas CSS yang perlu diubah semasa runtime. Tetapi apabila menukar kelas, kadang -kadang terbaik untuk menggunakan butiran gaya secara kondusif. Sebagai contoh, katakan pandangan anda mempunyai pager. Pagers sering digunakan untuk menavigasi set projek yang lebih besar. Apabila menavigasi, adalah berguna kepada pengguna untuk memaparkan maklumat pada halaman semasa. Gaya projek ditetapkan secara kondisi mengikut halaman yang kini dilihat. Dalam kes ini, pager mungkin kelihatan seperti ini:
. Kelas ini hanya diperlukan jika halaman kini dilihat. Dalam erti kata lain, kelas CSS perlu digunakan secara kondusif. Nasib baik, Vue menyediakan cara untuk menggunakan kelas CSS untuk unsur -unsur semasa runtime, yang akan saya tunjukkan dalam artikel ini. active
Untuk menggunakan kelas CSS secara kondusif semasa runtime, anda boleh mengikat objek JavaScript. Untuk berjaya menyelesaikan tugas ini, dua langkah mesti diselesaikan. Pertama, anda mesti memastikan bahawa kelas CSS ditakrifkan. Kemudian, buat kelas mengikat dalam templat. Saya akan menerangkan langkah -langkah ini secara terperinci dalam artikel ini.
active
Langkah 1: Tentukan kelas CSS
Perhatikan bahawa setiap halaman dalam coretan kod ini mempunyai elemen item senarai (elemen item senarai ketiga mempunyai kelas
). Seperti yang anda boleh meneka, ini adalah kelas CSS yang anda mahu memohon secara kondusif. Untuk melakukan ini, anda perlu menambah objek JavaScript.
<div id="myApp"> <nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">1</a></li> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">2</a></li> <li class="page-item active"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">3</a></li> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">4</a></li> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">5</a></li> </ul> </nav> </div>Langkah 2: Buat kelas mengikat
active
mengikat menggunakan sintaks objek
Untuk membuat pengikatan kelas menggunakan sintaks objek, ungkapan JavaScript mesti digunakan. Ekspresi yang akan kita gunakan dapat dilihat dalam kod yang berkaitan dengan artikel ini. Kod yang berkaitan adalah seperti berikut:<div id="myApp"> <nav aria-label="Page navigation example"> <ul class="pagination"> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">1</a></li> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">2</a></li> <li class="page-item active"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">3</a></li> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">4</a></li> <li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">5</a></li> </ul> </nav> </div>
Mengurangkan jumlah kod dengan menggunakan arahan terbina dalam v-for
Vue. Arahan ini digunakan untuk membuat projek dalam gelung. Item dalam contoh ini adalah halaman itu sendiri. Di samping menggunakan perintah v-for
, anda juga harus memberi perhatian kepada penggunaan arahan v-bind
. Arahan v-bind
menghubungkan atribut class
elemen kepada contoh VUE. Contoh Vue ditakrifkan seperti berikut:
<div id="myApp"> <nav aria-label="An example with pagination"> <ul class="pagination"> <li v-for="page in totalPages" :class="{'page-item':true, 'active':(page === currentPage)}"> <a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">{{ page }}</a> </li> </ul> </nav> </div>
Contoh Vue ini sangat mudah. Objek di atas data
mengandungi harta yang bernama currentPage
. Jika anda meninjau semula templat HTML yang ditakrifkan di atas, anda akan melihat bahawa harta ini dirujuk. Malah, objek JavaScript yang dikaitkan dengan setiap kelas mengikat kelihatan seperti ini:
var app = new Vue({ el: 'http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15bmyApp', data: { totalPages: 5, currentPage: 3 } });
Objek ini mentakrifkan dua sifat: page-item
dan active
. Perlu diingat bahawa ini adalah dua nama kelas CSS yang dibincangkan dalam langkah 1. Dalam langkah 2, kedua -dua rujukan kelas ini telah menjadi nama harta dalam objek JavaScript. Nilai yang berkaitan dengan nama harta ini adalah ungkapan JavaScript. Jika ungkapan menilai kepada nilai -nilai yang benar, kelas CSS akan dimasukkan. Jika ungkapan menilai palsu, tidak akan mengandungi kelas CSS. Dengan peraturan ini, mari kita lihat setiap atribut. Nilai harta pertama adalah page-item
. Nilai hardcoded ini digunakan kerana kelas true
sentiasa diperlukan. Hartanah kedua page-item
menggunakan ekspresi JavaScript. Apabila ungkapan ini benar, kelas active
digunakan. Ini membolehkan kita menggunakan kelas active
mengikut nilai currentPage
. Satu lagi cara untuk menggunakan kelas active
adalah untuk mengikat array. active
Vue membolehkan senarai kelas CSS digunakan dengan mengikat kepada array. Jika anda ingin menggunakan sintaks array, HTML yang dipaparkan dalam langkah 1 akan menjadi:
{'page-item':true, 'active':(page === currentPage)}versi berjalan menggunakan sintaks array. Satu -satunya perbezaan ialah tatasusunan digunakan pada pengikatan kelas. Alternatif ini memerlukan kehadiran dua sifat lain dalam objek Vue
. Kedua -dua sifat ini adalah: data
dan pageItemClass
. Kod permulaan Vue yang dikemas kini yang mengandungi sifat -sifat ini adalah seperti berikut: activeClass
<div id="myApp"> <nav aria-label="An example with pagination"> <ul class="pagination"> <li v-for="page in totalPages" :class="[pageItemClass, (page === currentPage) ? activeClass : '']"> <a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">{{ page }}</a> </li> </ul> </nav> </div>Seperti yang anda lihat, saiz objek
meningkat, tetapi kod dalam templat sedikit lebih ringkas apabila menggunakan sintaks array. Sintaks objek lebih padat. Pilihan antara sintaks objek dan sintaks array bergantung kepada keutamaan peribadi. Kedua -dua kaedah ini seolah -olah membuat templat HTML lebih rumit. Tetapi, sebenarnya ada lebih banyak lagi di sini. Malah, kita memisahkan fokus. Kami mencipta templat yang didorong oleh data. Ini menjadikan pandangan lebih mudah untuk diuji dan lebih mudah untuk dikekalkan apabila aplikasi berkembang. data
Ringkasan
Saya harap artikel ini dapat membantu anda. Jika anda ingin mengetahui lebih lanjut mengenai Vue.js, anda boleh menyemak kandungan Vue yang lain di SitePoint.
(Berikut adalah penciptaan pseudo-asal Soalan Lazim dalam teks asal, mengekalkan makna asal tetapi menulis semula ungkapan)
Bagaimana menggunakan pengendali ternary untuk mengikat kelas bersyarat? Dalam vue.js, pengendali ternary boleh digunakan untuk mengikat kelas bersyarat. Ini adalah cara yang mudah dan cekap untuk menukar antara dua kelas berdasarkan keadaan. Contohnya adalah seperti berikut: digunakan; Keadaan ini boleh menjadi ungkapan JavaScript yang sah.
vue.js membolehkan pengikatan bersyarat pelbagai kelas menggunakan sintaks objek. Ini sangat berguna apabila pelbagai kelas perlu digunakan mengikut keadaan yang berbeza. Contohnya adalah seperti berikut: Dalam contoh ini, jika dan
sebagai harta yang dikira:
dan dan adalah benar, saiz fon adalah 12px; Atas ialah kandungan terperinci Cara Menggunakan Kelas CSS di Vue.js. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!<div :class="condition ? 'classA' : 'classB'"></div>
classA
classB
<div :class="{ 'classA': conditionA, 'classB': conditionB }"></div>
adalah benar, conditionA
boleh menjadi ungkapan JavaScript yang sah. classA
conditionB
classB
Bolehkah anda menggunakan atribut yang dikira untuk mengikat kelas bersyarat dalam vue.js? conditionA
conditionB
<div :class="computedClass"></div>
Dalam contoh ini, atribut yang dikira computedClass
<div id="myApp">
<nav aria-label="Page navigation example">
<ul class="pagination">
<li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">1</a></li>
<li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">2</a></li>
<li class="page-item active"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">3</a></li>
<li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">4</a></li>
<li class="page-item"><a class="page-link" href="http://ipnx.cn/link/93ac0c50dd620dc7b88e5fe05c70e15b">5</a></li>
</ul>
</nav>
</div>
computedClass
Dalam vue.js, kelas statik dan kelas mengikat boleh digabungkan. Ini sangat berguna apabila anda perlu sentiasa menggunakan kelas tertentu, tetapi anda juga perlu memohon kelas lain. Contohnya adalah seperti berikut:
Dalam contoh ini, <div :class="['staticClass', { 'classA': conditionA, 'classB': conditionB }]"></div>
masing -masing. staticClass
Bagaimana untuk mengikat gaya dalam gaya dalam vue.js? classA
classB
conditionA
vue.js membolehkan pengikatan bersyarat gaya inline menggunakan sintaks objek. Ini berguna apabila gaya tertentu perlu digunakan mengikut keadaan. Contohnya adalah seperti berikut: conditionB
Dalam contoh ini, jika adalah benar, warna merah, dan jika

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Terdapat tiga cara biasa untuk memulakan permintaan HTTP dalam node.js: Gunakan modul terbina dalam, axios, dan nod-fetch. 1. Gunakan modul HTTP/HTTPS terbina dalam tanpa kebergantungan, yang sesuai untuk senario asas, tetapi memerlukan pemprosesan manual jahitan data dan pemantauan ralat, seperti menggunakan https.get () untuk mendapatkan data atau menghantar permintaan pos melalui .write (); 2.AXIOS adalah perpustakaan pihak ketiga berdasarkan janji. Ia mempunyai sintaks ringkas dan fungsi yang kuat, menyokong async/menunggu, penukaran JSON automatik, pemintas, dan lain -lain. Adalah disyorkan untuk memudahkan operasi permintaan tak segerak; 3.Node-Fetch menyediakan gaya yang serupa dengan pengambilan penyemak imbas, berdasarkan janji dan sintaks mudah

Jenis data JavaScript dibahagikan kepada jenis primitif dan jenis rujukan. Jenis primitif termasuk rentetan, nombor, boolean, null, undefined, dan simbol. Nilai -nilai tidak berubah dan salinan disalin apabila memberikan nilai, jadi mereka tidak mempengaruhi satu sama lain; Jenis rujukan seperti objek, tatasusunan dan fungsi menyimpan alamat memori, dan pembolehubah menunjuk objek yang sama akan mempengaruhi satu sama lain. Typeof dan Instanceof boleh digunakan untuk menentukan jenis, tetapi memberi perhatian kepada isu -isu sejarah TypeOfNull. Memahami kedua -dua jenis perbezaan ini dapat membantu menulis kod yang lebih stabil dan boleh dipercayai.

Rangka kerja JavaScript mana yang terbaik? Jawapannya ialah memilih yang paling sesuai mengikut keperluan anda. 1. REACT adalah fleksibel dan bebas, sesuai untuk projek sederhana dan besar yang memerlukan penyesuaian tinggi dan keupayaan seni bina pasukan; 2. Angular menyediakan penyelesaian lengkap, sesuai untuk aplikasi peringkat perusahaan dan penyelenggaraan jangka panjang; 3. Vue mudah digunakan, sesuai untuk projek kecil dan sederhana atau perkembangan pesat. Di samping itu, sama ada terdapat timbunan teknologi sedia ada, saiz pasukan, kitaran hayat projek dan sama ada SSR diperlukan juga faktor penting dalam memilih rangka kerja. Singkatnya, tidak ada kerangka terbaik, pilihan terbaik adalah yang sesuai dengan keperluan anda.

Helo, pemaju JavaScript! Selamat datang ke berita JavaScript minggu ini! Minggu ini kami akan memberi tumpuan kepada: Pertikaian tanda dagangan Oracle dengan Deno, objek masa JavaScript baru disokong oleh pelayar, kemas kini Google Chrome, dan beberapa alat pemaju yang kuat. Mari mulakan! Pertikaian tanda dagangan Oracle dengan percubaan Deno Oracle untuk mendaftarkan tanda dagangan "JavaScript" telah menyebabkan kontroversi. Ryan Dahl, pencipta Node.js dan Deno, telah memfailkan petisyen untuk membatalkan tanda dagangan, dan dia percaya bahawa JavaScript adalah standard terbuka dan tidak boleh digunakan oleh Oracle

Janji adalah mekanisme teras untuk mengendalikan operasi tak segerak dalam JavaScript. Memahami panggilan rantaian, pengendalian ralat dan gabungan adalah kunci untuk menguasai aplikasi mereka. 1. Panggilan rantai mengembalikan janji baru melalui .then () untuk merealisasikan persamaan proses tak segerak. Setiap .then () menerima hasil sebelumnya dan boleh mengembalikan nilai atau janji; 2. Pengendalian ralat harus menggunakan .catch () untuk menangkap pengecualian untuk mengelakkan kegagalan senyap, dan boleh mengembalikan nilai lalai dalam tangkapan untuk meneruskan proses; 3. Gabungan seperti janji.all () (berjaya hanya berjaya selepas semua kejayaan), janji.race () (penyempurnaan pertama dikembalikan) dan janji.allsettled () (menunggu semua penyelesaian)

CACHEAPI adalah alat yang disediakan oleh penyemak imbas kepada permintaan rangkaian cache, yang sering digunakan bersempena dengan ServiceWorker untuk meningkatkan prestasi laman web dan pengalaman luar talian. 1. Ia membolehkan pemaju menyimpan sumber secara manual seperti skrip, helaian gaya, gambar, dan lain -lain; 2. Ia boleh memadankan tindak balas cache mengikut permintaan; 3. Ia menyokong memotong cache tertentu atau membersihkan seluruh cache; 4. Ia boleh melaksanakan keutamaan cache atau strategi keutamaan rangkaian melalui perkhidmatan pekerja yang mendengar acara mengambil; 5. Ia sering digunakan untuk sokongan luar talian, mempercepat kelajuan akses berulang, sumber utama dan kandungan kemas kini latar belakang; 6. Apabila menggunakannya, anda perlu memberi perhatian kepada kawalan versi cache, sekatan penyimpanan dan perbezaan dari mekanisme caching HTTP.

Kaedah terbina dalam JavaScript seperti .map (), .filter () dan .reduce () dapat memudahkan pemprosesan data; 1) .map () digunakan untuk menukar elemen satu hingga satu untuk menghasilkan tatasusunan baru; 2) .filter () digunakan untuk menapis elemen mengikut keadaan; 3) .reduce () digunakan untuk mengagregatkan data sebagai nilai tunggal; Penyalahgunaan harus dielakkan apabila digunakan, mengakibatkan kesan sampingan atau masalah prestasi.

Gelung acara JavaScript menguruskan operasi tak segerak dengan menyelaraskan susunan panggilan, webapis, dan barisan tugas. 1. Stack panggilan melaksanakan kod segerak, dan ketika menghadapi tugas -tugas yang tidak segerak, ia diserahkan kepada Webapi untuk diproses; 2. Selepas Webapi melengkapkan tugas di latar belakang, ia meletakkan panggil balik ke dalam barisan yang sama (tugas makro atau tugas mikro); 3. Loop acara memeriksa sama ada timbunan panggilan kosong. Jika ia kosong, panggilan balik diambil dari barisan dan ditolak ke dalam tumpukan panggilan untuk pelaksanaan; 4. Tugas -tugas mikro (seperti janji. 5. Memahami gelung acara membantu mengelakkan menyekat benang utama dan mengoptimumkan pesanan pelaksanaan kod.
