vue的指定组件缓存使用方法

这次给大家带来vue的指定组件缓存使用方法,vue指定组件缓存使用的注意事项有哪些,下面就是实战案例,一起来看一下。

keep-alive 简介

keep-alive 是 Vue 内置的一个组件,可以使被包含的组件保留状态,或避免重新渲染。

用法也很简单:

   

登录后复制

props

include – 字符串或正则表达,只有匹配的组件会被缓存
exclude – 字符串或正则表达式,任何匹配的组件都不会被缓存

// 组件 aexport default { name: 'a', data () { return {} }}   可以保留它的状态或避免重新渲染   可以保留它的状态或避免重新渲染        

登录后复制

遇见 vue-router

router-view 也是一个组件,如果直接被包在 keep-alive 里面,所有路径匹配到的视图组件都会被缓存:

   

登录后复制

然而产品汪总是要改需求,拦都拦不住…

问题

如果只想 router-view 里面某个组件被缓存,怎么办?

使用 include/exclude
增加 router.meta 属性
使用 include/exclude

// 组件 aexport default { name: 'a', data () { return {} }}   

登录后复制

exclude 例子类似。

缺点:需要知道组件的 name,项目复杂的时候不是很好的选择

增加 router.meta 属性

// routes 配置export default [ { path: '/', name: 'home', component: Home, meta: { keepAlive: true // 需要被缓存 } }, { path: '/:id', name: 'edit', component: Edit, meta: { keepAlive: false // 不需要被缓存 } }]    

登录后复制

优点:不需要例举出需要被缓存组件名称

【加盐】使用 router.meta 拓展

假设这里有 3 个路由: A、B、C。

需求:

默认显示 A
B 跳到 A,A 不刷新
C 跳到 A,A 刷新
实现方式

在 A 路由里面设置 meta 属性:

{ path: '/', name: 'A', component: A, meta: { keepAlive: true // 需要被缓存 }}

登录后复制

在 B 组件里面设置 beforeRouteLeave:

export default { data() { return {}; }, methods: {}, beforeRouteLeave(to, from, next) {  // 设置下一个路由的 meta to.meta.keepAlive = true; // 让 A 缓存,即不刷新 next(); }};

登录后复制

在 C 组件里面设置 beforeRouteLeave:

export default { data() { return {}; }, methods: {}, beforeRouteLeave(to, from, next) { // 设置下一个路由的 meta to.meta.keepAlive = false; // 让 A 不缓存,即刷新 next(); }};

登录后复制

这样便能实现 B 回到 A,A 不刷新;而 C 回到 A 则刷新。

总结

路由大法不错,不需要关心哪个页面跳转过来的,只要 router.go(-1) 就能回去,不需要额外参数。

然而在非单页应用的时候,keep-alive 并不能有效的缓存了= =

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

Angular父组件怎么调用子组件

新手入门如何学习vue

以上就是vue的指定组件缓存使用方法的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2774500.html

(0)
上一篇 2025年3月8日 14:07:53
下一篇 2025年3月8日 14:08:01

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • jQuery中内容过滤器的使用方法

    这次给大家带来jQuery中内容过滤器的使用方法,使用jQuery中内容过滤器的注意事项有哪些,下面就是实战案例,一起来看一下。 本文实例讲述了jQuery中内容过滤器简单用法。分享给大家供大家参考,具体如下: 一 介绍 内容过滤器就是通过…

    2025年3月8日
    200
  • vue 自定义 select内置组件

    这篇文章主要介绍了vue 自定义内置组件 select的相关知识,现在分享给大家,具体实例代码大家参考下本文 1.整合了第三方 jQuery 插件 (select2) nbsp;html>               html, bo…

    2025年3月8日
    200
  • Pastate.js 响应式框架之多组件应用

    本篇文章给大家分享的内容是关于pastate.js 响应式框架之多组件应用  ,有着一定的参考价值,有需要的朋友可以参考一下 这是 pastate 系列教程的第二章,欢迎关注,持续更新。 这一章,我们在上一章的 state 结构中添加多一些…

    2025年3月8日 编程技术
    200
  • vue及element组件的安装方法

    这次给大家带来vue及element组件的安装方法,vue及element组件安装的注意事项有哪些,下面就是实战案例,一起来看一下。 一、新建vue项目 1、首先需要下载nodejs,安装后打开命令窗口可以使用npm包管理工具 npm集成在…

    编程技术 2025年3月8日
    200
  • vue实现滑动堆叠组件

    这次给大家带来vue实现滑动堆叠组件,vue实现滑动堆叠组件的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 嗨,说起探探想必各位程序汪都不陌生(毕竟妹子很多),能在上面丝滑的翻牌子,探探的的堆叠滑动组件起到了关键的作用,下面就来看…

    2025年3月8日 编程技术
    200
  • Vue2父组件与子组件的双向绑定怎么实现

    这次给大家带来Vue2父组件与子组件的双向绑定怎么实现,Vue2父组件与子组件的双向绑定实现的注意事项有哪些,下面就是实战案例,一起来看一下。 最近在研究如何写一套基于Vue2.x的UI组件给自己用,提升一点BIG,在制作含有input的组…

    编程技术 2025年3月8日
    200
  • Vue的轮播组件怎么使用

    这次给大家带来Vue的轮播组件怎么使用,使用Vue轮播组件的注意事项有哪些,下面就是实战案例,一起来看一下。 本文章采用Vue结合css3来实现轮播图。 首先要了解的是Vue的动画原理。在vue中,如果我们要给元素设置动画效果,则需要使用一…

    编程技术 2025年3月8日
    200
  • 怎么关闭Vue计算属性的缓存功能

    这次给大家带来怎么关闭Vue计算属性的缓存功能,关闭Vue计算属性缓存功能的注意事项有哪些,下面就是实战案例,一起来看一下。 使用Vue的小伙伴都会知道,vue的计算属性。这个是这个样子解释的,当某些依赖值发生变化的时候,其自身的值也会发生…

    编程技术 2025年3月8日
    200
  • vue全局提示框组件使用详解

    这次给大家带来vue全局提示框组件使用详解,使用vue全局提示框组件使的注意事项有哪些,下面就是实战案例,一起来看一下。 这篇文章给大家介绍一个vue全局提示框组件,具体代码如下所示: {{message}} export default …

    编程技术 2025年3月8日
    200
  • Angular4里ElementRef的使用方法

    这次给大家带来Angular4里ElementRef的使用方法,Angular4里ElementRef使用的注意事项有哪些,下面就是实战案例,一起来看一下。 Angular 的口号是 – “一套框架,多种平台。同时适…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论