uniapp mengubah suai gaya secara dinamik
Kata Pengantar
Dalam UniApp, kita selalunya perlu mengubah suai gaya secara dinamik, seperti menukar mod siang dan malam, melaraskan saiz fon, dsb. Pada masa ini kita perlu menguasai beberapa kemahiran mengubah suai gaya secara dinamik. Artikel ini akan memperkenalkan beberapa kaedah yang biasa digunakan untuk membantu anda mengawal perubahan gaya dengan lebih baik.
1. Gunakan sifat terkira Vue
Sifat yang dikira dalam Vue boleh mengira nilai sifat baharu secara dinamik berdasarkan pembolehubah bersandar, jadi kami boleh menggunakannya untuk mengubah suai gaya secara dinamik.
Sebagai contoh, kita boleh mentakrifkan pembolehubah isNight dalam data untuk mengawal mod siang dan malam, dan kemudian mengira gaya yang sepadan dalam pengiraan:
<template> <div :style="themeStyle"> <!-- 内容 --> </div> </template> <script> export default { data () { return { isNight: false // 默认为白天模式 } }, computed: { themeStyle () { return { // 日间模式样式 backgroundColor: this.isNight ? '#37474f' : '#fafafa', color: this.isNight ? '#fff' : '#000', // 其他属性 } } } } </script>
Dengan cara ini, selagi pembolehubah isNight perubahan, Gaya boleh dikemas kini secara automatik.
2. Gunakan ref untuk mendapatkan elemen
Kadangkala, kita perlu memanipulasi secara langsung gaya elemen DOM, kita boleh menggunakan ref untuk mendapatkan elemen.
<template> <div ref="myDiv"> <!-- 内容 --> </div> </template> <script> export default { methods: { changeStyle () { const myDiv = this.$refs.myDiv myDiv.style.color = 'red' myDiv.style.fontSize = '20px' // 其他样式 } } } </script>
Dengan cara ini, kita boleh mengubah suai gaya secara dinamik dalam kaedah changeStyle.
3. Gunakan JavaScript untuk menetapkan gaya
Kaedah paling langsung ialah menggunakan JavaScript untuk menetapkan gaya. Hanya dapatkan objek gaya elemen dan kemudian ubah suai nilai atribut yang sepadan.
<template> <div id="myDiv"> <!-- 内容 --> </div> </template> <script> export default { methods: { changeStyle () { const myDiv = document.getElementById('myDiv') myDiv.style.color = 'red' myDiv.style.fontSize = '20px' // 其他样式 } } } </script>
Kaedah ini tidak memerlukan penulisan peraturan gaya tambahan, tetapi perlu diingatkan bahawa kita mesti memastikan masa mengubah suai gaya untuk mengelak daripada menimpa peraturan gaya asal.
4. Gaya global dan gaya tempatan
Saya percaya anda telah menghadapi keraguan sedemikian apabila menggunakan UniApp untuk membangunkan projek: Mengapakah sesetengah gaya muncul di halaman lain selepas ia ditakrifkan dalam App.vue? Bolehkah ia berkesan?
Ini kerana gaya dalam App.vue adalah gaya global dan akan dikongsi oleh semua halaman. Jika kita perlu menentukan gaya tempatan, kita boleh mentakrifkannya dalam fail gaya halaman yang sepadan.
Sebagai contoh, kami mentakrifkan gaya global dalam App.vue:
<style> /* 全局样式 */ body { background-color: #fafafa; } </style>
Gaya ini akan dikongsi oleh semua halaman Jika anda perlu mengubah suai gaya dalam halaman tertentu, anda boleh mengubah suai gaya dalam halaman yang ditakrifkan dalam fail.
<style> /* 局部样式 */ body { background-color: #37474f; } </style>
Dengan cara ini, gaya badan halaman akan mengatasi gaya badan global.
Kesimpulan
Artikel ini memperkenalkan beberapa kaedah biasa untuk mengubah suai gaya secara dinamik, termasuk menggunakan sifat terkira Vue, menggunakan ref untuk mendapatkan elemen, menggunakan JavaScript untuk menetapkan gaya, gaya global dan gaya tempatan, dsb. Saya harap ia akan membantu semua orang yang menghadapi situasi mengubah suai gaya secara dinamik dalam pembangunan UniApp.
Atas ialah kandungan terperinci uniapp mengubah suai gaya secara dinamik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

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

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

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

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)

Topik panas



Artikel membincangkan menggunakan SASS dan kurang preprocessors dalam UNI-APP, memperincikan persediaan, faedah, dan penggunaan dwi. Fokus utama adalah pada konfigurasi dan kelebihan. [159 aksara]

Artikel ini menerangkan cara menggunakan API Animasi Uni-App, memperincikan langkah-langkah untuk membuat dan menggunakan animasi, fungsi utama, dan kaedah untuk menggabungkan dan mengawal masa animasi.

Artikel ini membincangkan pelbagai jenis ujian untuk aplikasi UNIAPP, termasuk unit, integrasi, fungsional, UI/UX, prestasi, silang platform, dan ujian keselamatan. Ia juga meliputi memastikan keserasian silang platform dan mengesyorkan alat seperti JES

Artikel ini membincangkan strategi untuk mengurangkan saiz pakej UNIAPP, memberi tumpuan kepada pengoptimuman kod, pengurusan sumber, dan teknik seperti pemisahan kod dan pemuatan malas.

Artikel ini membincangkan alat penyahpepijatan dan amalan terbaik untuk pembangunan UNIPP, yang memberi tumpuan kepada alat seperti HBuildex, WeChat Developer Tools, dan Chrome Devtools.

Artikel ini membincangkan menggunakan API UNI-APP untuk mengakses ciri peranti seperti kamera dan geolokasi, termasuk tetapan kebenaran dan pengendalian ralat.

Artikel ini menerangkan cara menggunakan API penyimpanan Uni-App (uni.setstorage, uni.getstorage) untuk pengurusan data tempatan, membincangkan amalan terbaik, penyelesaian masalah, dan menyoroti batasan dan pertimbangan untuk kegunaan yang berkesan.

Artikel ini membincangkan mengesahkan input pengguna dalam UNI-APP menggunakan JavaScript dan mengikat data, menekankan kedua-dua klien dan pengesahan sisi pelayan untuk integriti data. Plugin seperti Uni-Validate disyorkan untuk pengesahan borang.
