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(); }};

登录后复制

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

推荐阅读:

Vue中slots/scoped使用详解

实现js同源策略与跨域访问步骤详解

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

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

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

(0)
上一篇 2025年3月8日 10:51:09
下一篇 2025年3月8日 10:51:13

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

相关推荐

  • Vue引用外部样式文件步骤详解

    这次给大家带来Vue引用外部样式文件步骤详解,Vue引用外部样式文件的注意事项有哪些,下面就是实战案例,一起来看一下。 问题描述 对于.vue的文件来说,也是由结构、行为、样式三部分组成,在样式部分有个scoped的属性,也就是当前页面有效…

    2025年3月8日
    200
  • vue文件树组件有哪些使用方法

    这次给大家带来vue文件树组件有哪些使用方法,vue文件树组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 首先是html模板: //显示文件名 {{model.name}} //若是文件夹的话则显示[+]来控制文件夹的开关闭合 …

    编程技术 2025年3月8日
    200
  • vue全局组件与局部组件使用案例分析详解

    这次给大家带来vue全局组件与局部组件使用案例分析详解,vue全局组件与局部组件使用案例使用的注意事项有哪些,下面就是实战案例,一起来看一下。 main.js入口文件的一些常用配置, 在入口文件上定义的public.vue为全局组件,在这里…

    编程技术 2025年3月8日
    200
  • vue axios实现请求拦截步骤详解

    这次给大家带来vue axios实现请求拦截步骤详解,vue axios实现请求拦截的注意事项有哪些,下面就是实战案例,一起来看一下。 axios 简介 axios 是一个基于Promise 用于浏览器和 nodejs 的 HTTP 客户端…

    编程技术 2025年3月8日
    200
  • js传递数组参数到controller步骤详解

    这次给大家带来js传递数组参数到controller步骤详解,js传递数组参数到controller的注意事项有哪些,下面就是实战案例,一起来看一下。 传递参数传递字符串,所以要把数组转换为字符串, var arr=[1,23,34,5];…

    编程技术 2025年3月8日
    200
  • Vue项目中引入icon图标步骤详解

    这次给大家带来Vue项目中引入icon图标步骤详解,Vue项目中引入icon图标的注意事项有哪些,下面就是实战案例,一起来看一下。 1.下载icon图标,推荐icomoon网站,里面有大量的矢量图标,也可以自定义,当然你也可以去阿里巴巴矢量…

    2025年3月8日 编程技术
    200
  • vue开发按钮组件需要准备哪些东西

    这次给大家带来vue开发按钮组件需要准备哪些东西,vue开发按钮组件的注意事项有哪些,下面就是实战案例,一起来看一下。 最近面试,被问到一个题目,vue做一个按钮组件; 当时只是说了一下思路,回来就附上代码。 解决思路: 通过父子组件通讯(…

    编程技术 2025年3月8日
    200
  • Vue中component组件使用步骤详解

    这次给大家带来Vue中component组件使用步骤详解,Vue中component组件使用的注意事项有哪些,下面就是实战案例,一起来看一下。 官方的说明 渲染一个“元组件”为动态组件。依 is 的值,来决定哪个组件被渲染。 登录后复制 具…

    2025年3月8日
    200
  • js构建二叉树数组去重与优化步骤详解

    这次给大家带来js构建二叉树数组去重与优化步骤详解,js构建二叉树数组去重与优化的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 本文主要介绍了关于js构建二叉树进行数值数组的去重与优化的相关内容,分享出来供大家参考学习,下面话不多…

    编程技术 2025年3月8日
    200
  • 非数组对象转数组步骤详解(附代码)

    这次给大家带来非数组对象转数组步骤详解(附代码),非数组对象转数组的注意事项有哪些,下面就是实战案例,一起来看一下。 前言 本文主要汇总了一些JS从非数组对象转数组的方法,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 A…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论