Rumah  >  Artikel  >  hujung hadapan web  >  Gunakan komponen keep-alive Vue untuk melaksanakan strategi kemas kini cache halaman

Gunakan komponen keep-alive Vue untuk melaksanakan strategi kemas kini cache halaman

王林
王林asal
2023-07-21 17:58:571694semak imbas

Gunakan komponen keep-alive Vue untuk melaksanakan strategi kemas kini cache halaman

Pengenalan:
Apabila membangunkan aplikasi web, selalunya perlu berurusan dengan cache halaman dan strategi kemas kini. Berdasarkan aplikasi SPA (Single-Page Application) Vue, kami boleh menggunakan komponen keep-alive Vue untuk mengawal caching halaman dan kemas kini. Artikel ini akan memperkenalkan cara menggunakan komponen keep-alive Vue untuk melaksanakan strategi kemas kini cache halaman dan memberikan contoh kod yang sepadan.

1. Apakah komponen Keep-alive?
Komponen keep-alive Vue ialah komponen abstrak yang digunakan untuk cache komponen. Ia boleh cache komponen sebelum ia dimusnahkan supaya ia boleh dibaca terus daripada cache apabila komponen itu dipaparkan semula, sekali gus meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna.

2. Cara menggunakan Keep-alive
Menggunakan keep-alive adalah sangat mudah, hanya bungkus komponen untuk dicache dalam tag 7c9485ff8c3cba5ae9343ed63c2dc3f7

<template>
  <div>
    <keep-alive>
      <!-- 缓存的组件放在这里 -->
    </keep-alive>
  </div>
</template>

3. Strategi caching Keep-alive

  1. serta atribut: Nyatakan nama komponen atau contoh komponen yang perlu dicache. Hanya komponen yang ditentukan oleh termasuk akan dicache.
<template>
  <div>
    <keep-alive :include="['ComponentA', ComponentB]">
      <router-view></router-view> <!-- 嵌套路由视图 -->
    </keep-alive>
  </div>
</template>
  1. exclude attribute: Tentukan nama komponen atau tika komponen yang tidak perlu dicache. Komponen yang ditentukan oleh kecualikan tidak akan dicache.
<template>
  <div>
    <keep-alive :exclude="['ComponentC', ComponentD]">
      <router-view></router-view> <!-- 嵌套路由视图 -->
    </keep-alive>
  </div>
</template>
  1. atribut maks: Menentukan bilangan maksimum komponen cache. Apabila bilangan komponen cache melebihi bilangan yang ditentukan oleh maks, komponen cache pertama akan dimusnahkan.
<template>
  <div>
    <keep-alive :max="10">
      <router-view></router-view> <!-- 嵌套路由视图 -->
    </keep-alive>
  </div>
</template>

4. Strategi kemas kini Keep-alive
Secara lalai, komponen cache tidak akan dipaparkan semula apabila penghalaan ditukar. Jika kita perlu memaparkan semula komponen cache semasa menghala suis, kita boleh menggunakan strategi berikut.

  1. Perubahan dalam keadaan dalaman komponen
    Apabila keadaan dalaman komponen berubah, komponen semasa akan dipaparkan semula.
export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    increment() {
      this.count++;
    }
  }
};
  1. Isytihar fungsi cangkuk beforeRouteUpdate
    Isytihar fungsi cangkuk beforeRouteUpdate dalam komponen Apabila laluan ditukar, komponen cache akan memanggil fungsi cangkuk.
export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    increment() {
      this.count++;
    }
  },
  beforeRouteUpdate(to, from, next) {
    next();
  }
};

Dalam fungsi cangkuk beforeRouteUpdate, kita boleh memutuskan sama ada untuk melaksanakan semula logik tertentu berdasarkan keadaan berbeza parameter ke dan dari. Sebagai contoh, data perlu diperoleh semula apabila penghalaan ditukar.

5. Contoh kod
Berikut ialah kod contoh yang menggunakan komponen keep-alive Vue untuk melaksanakan strategi kemas kini cache halaman:

<template>
  <div>
    <keep-alive :include="['ComponentA', 'ComponentB']">
      <router-view></router-view>
    </keep-alive>
  </div>
</template>

<script>
export default {
  data() {
    return {
      count: 0
    };
  },
  methods: {
    increment() {
      this.count++;
    }
  },
  beforeRouteUpdate(to, from, next) {
    this.count = 0; // 路由切换时重置count为0
    next();
  }
};
</script>

6. Menggunakan komponen keep-alive Vue boleh melaksanakan strategi caching dan pengemaskinian halaman dengan mudah. Kita boleh mengawal komponen yang perlu dicache melalui atribut include dan exclude, dan bilangan komponen cache melalui atribut max. Secara lalai, komponen cache tidak akan dipaparkan semula, tetapi komponen boleh dipaparkan semula melalui perubahan dalam keadaan dalaman komponen dan fungsi cangkuk beforeRouteUpdate.

Saya harap melalui pengenalan artikel ini, anda boleh lebih memahami dan menggunakan komponen keep-alive Vue untuk meningkatkan kelajuan pemuatan halaman dan pengalaman pengguna.

Atas ialah kandungan terperinci Gunakan komponen keep-alive Vue untuk melaksanakan strategi kemas kini cache halaman. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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