Rumah > hujung hadapan web > View.js > teks badan

Cara menggunakan Vue untuk melaksanakan kesan pemuatan bar kemajuan

王林
Lepaskan: 2023-09-19 12:45:42
asal
1792 orang telah melayarinya

Cara menggunakan Vue untuk melaksanakan kesan pemuatan bar kemajuan

Cara menggunakan Vue untuk melaksanakan kesan pemuatan bar kemajuan

Pengenalan:
Dalam pembangunan bahagian hadapan, kesan pemuatan bar kemajuan adalah fungsi biasa dan praktikal, yang boleh digunakan untuk memaparkan muat naik fail, pemuatan data, pemuatan halaman dan jadual operasi lain. Sebagai rangka kerja JavaScript yang popular, Vue menyediakan pelbagai alatan dan komponen untuk melaksanakan kesan pemuatan bar kemajuan dengan mudah. Artikel ini akan memperkenalkan cara menggunakan Vue untuk melaksanakan kesan pemuatan bar kemajuan yang mudah dan memberikan contoh kod khusus.

1. Gambaran keseluruhan
Kesan pemuatan bar kemajuan biasanya terdiri daripada komponen bar kemajuan dan peristiwa yang mencetuskan pemuatan. Dalam Vue, anda boleh melaksanakan bar kemajuan dengan mentakrifkan komponen global dan mengawal paparan serta menyembunyikan bar kemajuan melalui kaedah dalam contoh Vue.

2. Langkah-langkah pelaksanaan

  1. Buat projek Vue dan pasang pemalam Vue Router dan ProgressBar.
  2. Perkenalkan komponen bar kemajuan dan Penghala Vue ke dalam App.vue, dan konfigurasikan komponen bar kemajuan sebagai komponen global.
  3. Tentukan pengawal hadapan global dalam fail konfigurasi penghalaan untuk mengawal paparan dan penyembunyian bar kemajuan.
  4. Tentukan kaedah dalam kaedah untuk mengawal kemajuan pemuatan bar kemajuan secara manual.
  5. Tambah butang pada halaman untuk mencetuskan pemuatan bar kemajuan melalui acara klik.

3. Demonstrasi langkah khusus

  1. Buat projek Vue dan pasang pemalam Vue Router dan ProgressBar.
    Jalankan arahan berikut:

    vue create progress-bar-demo
    cd progress-bar-demo
    npm install vue-router
    npm install vue-progressbar
    Salin selepas log masuk
  2. Perkenalkan komponen bar kemajuan dan Penghala Vue dalam App.vue, dan konfigurasikan komponen bar kemajuan sebagai komponen global.
    Tambahkan kod berikut dalam App.vue:

    <template>
      <div id="app">
        <!-- ... -->
        <router-view></router-view>
        <vue-progress-bar></vue-progress-bar>
      </div>
    </template>
      
    <script>
    import VueProgressBar from 'vue-progressbar'
      
    export default {
      name: 'App',
      components: {
        VueProgressBar
      },
      // ...
    }
    </script>
    Salin selepas log masuk
  3. Tentukan pengawal hadapan global dalam fail konfigurasi penghalaan untuk mengawal paparan dan penyembunyian bar kemajuan.
    Buat folder penghala dalam direktori src, buat fail index.js dan tambah kod berikut:

    import Vue from 'vue'
    import VueRouter from 'vue-router'
    import VueProgressBar from 'vue-progressbar'
      
    Vue.use(VueRouter)
      
    const progressBarOptions = {
      color: '#29d',
      failedColor: 'red',
      thickness: '3px',
      transition: {
        speed: '0.5s',
        opacity: '0.6s',
        termination: 300
      },
      autoRevert: true,
      location: 'top',
      inverse: false
    }
      
    const router = new VueRouter({
      mode: 'history',
      routes: [
        // ...
      ]
    })
      
    router.beforeEach((to, from, next) => {
      VueProgressBar.start()
      next()
    })
      
    router.afterEach(() => {
      Vue.nextTick(() => {
        VueProgressBar.finish()
      })
    })
      
    export default router
    Salin selepas log masuk
  4. Tentukan kaedah dalam kaedah untuk mengawal kemajuan pemuatan bar kemajuan secara manual.
    Tentukan kaedah dalam mana-mana komponen, seperti Home.vue:

    <template>
      <div>
        <h1>Welcome to Home</h1>
        <button @click="startProgress">Start Progress</button>
      </div>
    </template>
      
    <script>
    export default {
      name: 'Home',
      methods: {
        startProgress() {
          VueProgressBar.start()
          // 模拟加载进度
          setTimeout(() => {
            VueProgressBar.finish()
          }, 2000)
        }
      }
    }
    </script>
    Salin selepas log masuk
    Salin selepas log masuk
  5. Tambahkan butang pada halaman untuk mencetuskan pemuatan bar kemajuan melalui acara klik.
    Tambah butang pada mana-mana halaman, seperti Home.vue:

    <template>
      <div>
        <h1>Welcome to Home</h1>
        <button @click="startProgress">Start Progress</button>
      </div>
    </template>
      
    <script>
    export default {
      name: 'Home',
      methods: {
        startProgress() {
          VueProgressBar.start()
          // 模拟加载进度
          setTimeout(() => {
            VueProgressBar.finish()
          }, 2000)
        }
      }
    }
    </script>
    Salin selepas log masuk
    Salin selepas log masuk

4. Ringkasan
Artikel ini memperkenalkan langkah khusus tentang cara menggunakan Vue untuk melaksanakan kesan pemuatan bar kemajuan dan menyediakan contoh kod yang sepadan. Melalui komponen global, pengawal hadapan global, dan kawalan manual kemajuan pemuatan bar kemajuan, kami boleh dengan mudah melaksanakan kesan pemuatan bar kemajuan yang mudah. Saya harap artikel ini dapat membantu anda melaksanakan bar kemajuan yang memuatkan kesan khas dalam projek Vue anda, dan memudahkan anda mengembangkan dan mengoptimumkan lagi dalam pembangunan sebenar.

Atas ialah kandungan terperinci Cara menggunakan Vue untuk melaksanakan kesan pemuatan bar kemajuan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!