Rumah hujung hadapan web uni-app uniapp mengubah suai gaya secara dinamik

uniapp mengubah suai gaya secara dinamik

May 22, 2023 am 09:35 AM

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Arahan sembang dan cara menggunakannya
4 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Bagaimanakah saya menggunakan preprocessors (sass, kurang) dengan uni-app? Mar 18, 2025 pm 12:20 PM

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]

Bagaimana saya menggunakan API Animasi Uni-App? Bagaimana saya menggunakan API Animasi Uni-App? Mar 18, 2025 pm 12:21 PM

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.

Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Apakah jenis ujian yang boleh anda lakukan dalam aplikasi UNIAPP? Mar 27, 2025 pm 04:59 PM

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

Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Bagaimanakah anda dapat mengurangkan saiz pakej aplikasi UNIAPP anda? Mar 27, 2025 pm 04:45 PM

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

Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Apakah alat penyahpepijatan yang tersedia untuk pembangunan Uniapp? Mar 27, 2025 pm 05:05 PM

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

Bagaimanakah saya menggunakan API Uni-App untuk mengakses ciri peranti (kamera, geolokasi, dll)? Bagaimanakah saya menggunakan API Uni-App untuk mengakses ciri peranti (kamera, geolokasi, dll)? Mar 18, 2025 pm 12:06 PM

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

Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Bagaimana saya menggunakan API Penyimpanan Uni-App (uni.setstorage, uni.getstorage)? Mar 18, 2025 pm 12:22 PM

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.

Bagaimana saya mengesahkan input pengguna di uni-app? Bagaimana saya mengesahkan input pengguna di uni-app? Mar 18, 2025 pm 12:17 PM

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.

See all articles