建网站用营业执照吗,开网店软件,青羊区建设厅网站,六安杂谈网用法 keep-alive是Vue内置的一个组件#xff0c;可以使被包含的组件保留状态#xff0c;避免重新渲染 keep-alivecomponent!-- 该组件将被缓存#xff01; --/component
/keep-alive
props
include - 字符串或正则表达#xff0…用法 keep-alive是Vue内置的一个组件可以使被包含的组件保留状态避免重新渲染 keep-alivecomponent!-- 该组件将被缓存 --/component
/keep-alive
props
include - 字符串或正则表达只有匹配的组件会被缓存exclude - 字符串或正则表达式任何匹配的组件都不会被缓存
// 组件 a
export default {name: a,data () {return {}}
} include
keep-alive includeacomponent!-- name 为 a 的组件将被缓存 --/component
/keep-alive可以保留它的状态或避免重新渲染
exclude
keep-alive excludeacomponent!-- 除了 name 为 a 的组件都将被缓存 --/component
/keep-alive可以保留它的状态或避免重新渲染
vue-router router-view 也是一个组件如果直接被包在 keep-alive 里面所有路径匹配到的视图组件都会被缓存 keep-aliverouter-view!-- 所有路径匹配到的视图组件都会被缓存 --/router-view
/keep-alive 关于router-view的个性化设置
使用 include/exclude增加 router.meta 属性
include
keep-alive includearouter-view!-- 只有路径匹配到的视图 a 组件会被缓存 --/router-view
/keep-alive router.meta
// routes 配置
export default [{path: /,name: home,component: Home,meta: {keepAlive: true // 需要被缓存}}, {path: /:id,name: edit,component: Edit,meta: {keepAlive: false // 不需要被缓存}}
]
keep-aliverouter-view v-if$route.meta.keepAlive!-- 这里是会被缓存的视图组件比如 Home --/router-view
/keep-aliverouter-view v-if!$route.meta.keepAlive!-- 这里是不被缓存的视图组件比如 Edit --
/router-view 使用 router.meta 拓展
export default {data() {return {};},methods: {},beforeRouteLeave(to, from, next) {// 设置下一个路由的 metato.meta.keepAlive false; // 让 A 不缓存即刷新next();}
}; 总结
我们可以通过静态和动态两种简单理解的方式去缓存也就是说静态就是我们常用的组件name的方式去做动态就是我们通过组件的路由守卫去做这件事情。