vue小记——保持历史页面数据不变,实现返回后不重置数据

在Vue 2中,如果希望在用户导航到其他页面后再返回时保持历史页面的数据不变,可以使用<keep-alive>组件来实现

以下是如何使用<keep-alive>来保持历史页面数据不变的方法:

  1. 在路由视图组件外包裹<keep-alive>
html 复制代码
<template>
  <div id="app">
    <keep-alive>
      <router-view></router-view>
    </keep-alive>
  </div>
</template>

这样,所有通过<router-view>渲染的组件都会被<keep-alive>缓存,除非它们被<transition><router-view>v-if/v-else等条件语句包裹。

  1. 使用includeexclude属性来精细控制缓存

如果您只想缓存特定的组件,可以使用includeexclude属性来指定哪些组件应该被缓存。

html 复制代码
<keep-alive include="Home,About">
  <router-view></router-view>
</keep-alive>

或者:

html 复制代码
<keep-alive exclude="Detail">
  <router-view></router-view>
</keep-alive>
相关推荐
阳火锅6 分钟前
AI时代的到来,我想打造这样一款产品。
前端·javascript·vue.js
OpenTiny社区8 分钟前
不仅是修复 Bug:TinyVue 3.29.0 把“无障碍信息”写进了组件的 DNA 里
前端·javascript·vue.js
蜡台26 分钟前
Node Vue 项目开发常见问题解决
前端·javascript·vue.js·git·node
还是大剑师兰特1 小时前
vue3中如何使用 getCurrentInstance()
前端·javascript·vue.js
Thomas.Sir1 小时前
Vue 3:现代前端框架的架构革命
前端·vue.js·web·大前端
清空mega1 小时前
《Vue3 模板语法与常用指令详解:插值、绑定、件、条件渲染、列表渲染一次学会》
前端·javascript·vue.js
Luna-player2 小时前
将Vue 项目上传到Gitee流程步骤
前端·vue.js·gitee
easyboot2 小时前
vxetable的表格滚动条加粗功能
前端·javascript·vue.js
yangyanping201082 小时前
Vue入门到精通五之yarn部署项目
前端·javascript·vue.js
FFF_634560232 小时前
使用轮播组件 swper 插件
前端·javascript·vue.js