Rumah > hujung hadapan web > View.js > Bagaimana untuk mencapai kesan pramuat halaman dengan komponen keep-alive dalam vue

Bagaimana untuk mencapai kesan pramuat halaman dengan komponen keep-alive dalam vue

WBOY
Lepaskan: 2023-07-21 19:29:23
asal
1584 orang telah melayarinya

Bagaimana untuk mencapai kesan pramuat halaman dengan komponen kekalkan hidup dalam Vue

Dalam pembangunan Vue, kita sering menghadapi penukaran halaman yang kerap Pada masa ini, jika komponen itu dipaparkan semula setiap kali halaman ditukar, bukan sahaja kelajuan memuatkan halaman berkurangan, Perlahan dan mungkin kehilangan beberapa data yang diminta. Untuk menyelesaikan masalah ini, Vue menyediakan komponen-kekal-hidup yang sangat praktikal, yang boleh cache komponen dan mencapai kesan pramuat halaman.

Komponen keep-alive ialah komponen abstrak yang dibina ke dalam Vue Ia boleh cache komponen ditukar secara dinamik supaya ia boleh digunakan terus apabila diperlukan pada masa akan datang. Dengan menggunakan komponen keep-alive, kami boleh mencapai kesan mengekalkan komponen yang telah dimuatkan apabila menukar laluan, mengelakkan pemaparan berulang dan meminta semula data. Seterusnya, kami akan menerangkan secara terperinci cara menggunakan komponen keep-alive untuk mencapai kesan pramuat halaman.

Pertama, kita perlu memasang Vue dan mencipta projek Vue. Anda boleh menggunakan Vue CLI atau terus memperkenalkan skrip Vue dalam fail HTML untuk mencipta tika Vue. Dalam contoh berikut, kami menganggap bahawa Vue telah dipasang dan contoh akar telah dibuat.

<!DOCTYPE html>
<html>
<head>
  <title>Vue Keep-alive Demo</title>
  <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script>
</head>
<body>
  <div id="app">
    <button @click="changePage">切换页面</button>
    <keep-alive>
      <component :is="currentPage"></component>
    </keep-alive>
  </div>

  <script>
    // 创建组件A
    const ComponentA = {
      template: '<div>组件A</div>',
      created() {
        console.log('组件A被创建了');
      }
    };

    // 创建组件B
    const ComponentB = {
      template: '<div>组件B</div>',
      created() {
        console.log('组件B被创建了');
      }
    };

    // 创建Vue实例
    new Vue({
      el: '#app',
      data() {
        return {
          currentPage: 'ComponentA'
        };
      },
      methods: {
        changePage() {
          this.currentPage = this.currentPage === 'ComponentA' ? 'ComponentB' : 'ComponentA';
        }
      },
      components: {
        ComponentA,
        ComponentB
      }
    });
  </script>
</body>
</html>
Salin selepas log masuk

Dalam contoh di atas, kami mencipta dua komponen ComponentA dan ComponentB, dan menambah atribut currentPage dalam atribut data bagi tika akar untuk menandakan komponen yang sedang dipaparkan. Dalam acara klik butang, kami menukar komponen yang dipaparkan dengan menukar nilai harta currentPage.

Di dalam komponen keep-alive, kami menggunakan komponen dinamik untuk menghasilkan komponen semasa. Perlu diingat bahawa apabila menggunakan komponen keep-alive, kita perlu membungkus komponen yang perlu dicache di dalam komponen keep-alive dan menjadikan komponen semasa melalui komponen dinamik. Dengan cara ini, setiap kali anda menukar komponen, Vue akan menyimpan komponen secara automatik sebelum menukar. Pada kali seterusnya anda bertukar kepada komponen yang sama, komponen yang dicache akan digunakan secara langsung tanpa memaparkan semula.

Dalam contoh ini, kami mengeluarkan log penciptaan komponen dalam fungsi cangkuk cipta KomponenA dan KomponenB masing-masing. Kita boleh mengklik butang untuk bertukar kepada komponen A dan komponen B masing-masing, dan kemudian beralih kembali ke komponen sebelumnya Perhatikan output konsol penyemak imbas Kita boleh mendapati bahawa apabila beralih kembali ke komponen sebelumnya, fungsi cangkuk yang dibuat tidak dicetuskan, menunjukkan bahawa komponen itu dicache.

Melalui contoh di atas, kita dapat melihat cara menggunakan komponen keep-alive untuk mencapai kesan pramuat halaman. Menggunakan komponen keep-alive boleh mengelakkan pemaparan komponen berulang dan meminta semula data, meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna.

Namun, perlu diingatkan bahawa keep-alive bukanlah ubat penawar. Untuk sesetengah komponen yang perlu mengemas kini data dalam masa nyata atau untuk sesetengah komponen yang sudah mengandungi logik interaksi pengguna, kami mungkin tidak mahu menyimpannya dalam cache. Dalam kes ini, kita boleh menentukan komponen yang tidak perlu dicache dengan mengkonfigurasi atribut exclude bagi komponen keep-alive.

Ringkasnya, menggunakan komponen keep-alive boleh memudahkan pembangunan projek Vue dan meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna. Walau bagaimanapun, komponen keep-alive perlu dikonfigurasikan dan digunakan dengan betul mengikut situasi sebenar untuk mencapai hasil yang terbaik. Saya harap pengenalan di atas dapat membantu semua orang memahami dan menggunakan komponen keep-alive.

Atas ialah kandungan terperinci Bagaimana untuk mencapai kesan pramuat halaman dengan komponen keep-alive dalam vue. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
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