TMaize / vue-router-keep-alive-helper

Vue.js缓存自动管理插件,自动创建、销毁缓存页面

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

vue-router-keep-alive-helper

All Contributors

Vue Router Keep-alive Helper is an automatic tool for managing cache pages in the Vue.js project, only one line of configuration code can be used.

English | 简体中文

Why you need this helper:

When developing a SPA project of Vue.js with vue-router, <keep-alive> is always used to cach pages which are already routed,there are three options to manage the cache tree inside it,

include - Only components with matching names will be cached.
exclude - Any component with a matching name will not be cached.
max - The maximum number of component instances to cache.

But these options are only useful in simple situations, otherwise they're useless,such as:

  1. destroy current page cache when routing back.
  2. cache more than one instances which using same component,and destroy one of them specifically.

Features

  1. Recognize pushing going back or replacing automatically
  2. Destroy current page cache when routing back
  3. Always create and cache a new instance,even if this component is already cached
  4. Keep the same status after browser refreshing
  5. replaceStay white list allows cache pages when replacing

Usage

  1. npm i -s vue-router-keep-alive-helper
  2. keep alive the router-view
...
<keep-alive>
  <router-view/>
</keep-alive>
...
  1. create helper after router is created
import createHelper from 'vue-router-keep-alive-helper'
import Vue from 'vue'
const router = new VueRouter({routes})
createHelper({Vue, router});
...

Config

  1. replace white list

When switching the tab bar, some tab pages need to be cached,you can set the paths in replaceStay option

  createHelper({Vue, router, replaceStay:["/home","/cart","/mine"]});

Release log

v0.0.21

  1. support un-full keep-alive routes
  2. add build script

TODO:

  1. beforeRouteUpdate hook warning to users
  2. Vue.js 3 support
  3. unit testing support

Sample code

  1. static file
  2. webpack

Twitter zippowxk,Email: zippowangxinkai@gmail.com

Contributors ✨


wangxinkai

💻 📖

kamilic

💻 🤔

About

Vue.js缓存自动管理插件,自动创建、销毁缓存页面


Languages

Language:JavaScript 100.0%