vue 实现tab切换保持数据状态


Posted in Javascript onJuly 21, 2020

页面做tab切换,由于组件每一次切换都会重新实例化组件,我们想要页面不论怎么切换都仍然保持tab里面的内容不会刷新,减少页面重新渲染以及减少请求

实现方法:使用<keep-alive></keep-alive>包裹组件

<el-tabs v-model="activeName" @tab-click="handleClick">
 <el-tab-pane label="记录">
 <keep-alive>
  <child1 v-if="isChildUpdate"></child1>
 </keep-alive>
 </el-tab-pane>
</el-tabs>

列表页面跳转详情 ,列表页面保持上一次操作状态

通过是否加载router-view 和路由元meta设置页面是否需要缓存来实现

vue 实现tab切换保持数据状态

router-view嵌套多层的话,可能要设置多层,然后通过beforeRouteLeave监听路由离开,设置是否缓存

vue 实现tab切换保持数据状态

//从其他页面跳转不需要缓存页面 从详情页面回来则需要缓存

补充知识:vue 动态组件(tabs切换)keep-alive:主要用于保留组件状态或避免重新渲染

通过keep-alive 保留数据值 填写数据时切换到其他页面,后返回当前页数据保留 ,主要用于保留组件状态或避免重新渲染

<!--动态组件-component使用-->
 <div class="app">
 <ul>
  <li @click="currView='home'">首页</li>
  <li @click="currView='abount'">关于我们</li>
 </ul>
 <!--通过keep-alive 保留数据值 填写数据时切换到其他页面,后返回当前页数据保留-->
 <keep-alive>
  <component :is="currView"></component>
 </keep-alive>
 </div>
<script type="text/x-Template" id="homeTemp">
   <h2>首页数据</h2>
</script>
<script type="text/x-Template" id="abountTemp">
   <h2>关于我们数据<input type="text"/></h2>
</script>
<script type="text/javascript">
 var vm=new Vue({
  el:'.app',
  data:{
   currView:"home"
  },
  components:{
   "home":{
     template:"#homeTemp"
   },
   "abount":{
    template:"#abountTemp"
   }
  }
 });
 
</script>

vue 实现tab切换保持数据状态

以上这篇vue 实现tab切换保持数据状态就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
javascript 构造函数强制调用经验总结
Dec 02 Javascript
JS复制到剪贴板示例代码
Oct 30 Javascript
原生js事件的添加和删除的封装
Jul 01 Javascript
DOM基础教程之模型中的模型节点
Jan 19 Javascript
JS实现把鼠标放到链接上出现滚动文字的方法
Apr 06 Javascript
JS回调函数简单用法示例
Feb 09 Javascript
JS中将多个逗号替换为一个逗号的实现代码
Jun 23 Javascript
浅谈Node.js 子进程与应用场景
Jan 24 Javascript
JS实现常见的查找、排序、去重算法示例
May 21 Javascript
vue-cli3使用mock数据的方法分析
Mar 16 Javascript
详解Vue的mixin策略
Nov 19 Vue.js
低门槛开发iOS、Android、小程序应用的前端框架详解
Oct 16 Javascript
vue通过过滤器实现数据格式化
Jul 20 #Javascript
原生JavaScript写出Tabs标签页的实例代码
Jul 20 #Javascript
解决echarts 一条柱状图显示两个值,类似进度条的问题
Jul 20 #Javascript
简单了解前端渐进式框架VUE
Jul 20 #Javascript
基于VSCode调试网页JavaScript代码过程详解
Jul 20 #Javascript
一文读懂vue动态属性数据绑定(v-bind指令)
Jul 20 #Javascript
在Vue 中实现循环渲染多个相同echarts图表
Jul 20 #Javascript
You might like
php递归使用示例(php递归函数)
2014/02/14 PHP
php array_keys 返回数组的键名
2016/10/25 PHP
PHP将身份证正反面两张照片合成一张图片的代码
2017/04/08 PHP
PHP命名空间与自动加载机制的基础介绍
2019/08/25 PHP
JQuery的Alert消息框插件使用介绍
2010/10/09 Javascript
关于onchange事件在IE和FF下的表现及解决方法
2014/03/08 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
node.js中的socket.io入门实例
2014/04/26 Javascript
javascript实现下班倒计时效果的方法(可桌面通知)
2015/07/10 Javascript
javascript文本模板用法实例
2015/07/31 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
AngularJS中run方法的巧妙运用
2017/01/04 Javascript
纯js三维数组实现三级联动效果
2017/02/07 Javascript
JS中利用localStorage防止页面动态添加数据刷新后数据丢失
2017/03/10 Javascript
javascript实现滑动解锁功能
2017/03/22 Javascript
JavaScript实现form表单的多文件上传
2020/03/27 Javascript
完美解决linux下node.js全局模块找不到的情况
2018/05/16 Javascript
Python求两个list的差集、交集与并集的方法
2014/11/01 Python
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
Python3网络爬虫之使用User Agent和代理IP隐藏身份
2017/11/23 Python
Python openpyxl 遍历所有sheet 查找特定字符串的方法
2018/12/10 Python
python实现简单日期工具类
2019/04/24 Python
3种方式实现瀑布流布局小结
2019/09/05 HTML / CSS
美国益智玩具购物网站:Fat Brain Toys
2017/11/03 全球购物
女性时尚网购:Chic Me
2019/07/30 全球购物
一家外企的面试题目(C/C++面试题,C语言面试题)
2014/03/24 面试题
庆七一活动方案
2014/01/25 职场文书
历史专业大学生职业生涯规划书
2014/03/13 职场文书
融资租赁计划书
2014/04/29 职场文书
新闻发布会策划方案
2014/06/12 职场文书
教师查摆问题自查报告
2014/10/11 职场文书
幼儿园保教工作总结2015
2015/10/15 职场文书
2015年物业公司保洁工作总结
2015/10/22 职场文书
8个JS的reduce使用实例和reduce操作方式
2021/10/05 Javascript
各种货币符号快捷输入
2022/02/17 杂记
Win11远程连接不上怎么办?Win11远程桌面用不了的解决方法
2022/08/05 数码科技