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 相关文章推荐
神奇的7个jQuery 3D插件整理
Jan 06 Javascript
javascript实现瀑布流自适应遇到的问题及解决方案
Jan 28 Javascript
jQuery实现的背景动态变化导航菜单效果
Aug 24 Javascript
js电话号码验证方法
Sep 28 Javascript
详谈jQuery Ajax(load,post,get,ajax)的用法
Mar 02 Javascript
vue子组件使用自定义事件向父组件传递数据
May 27 Javascript
Vue.js 的移动端组件库mint-ui实现无限滚动加载更多的方法
Dec 23 Javascript
详解开发react应用最好用的脚手架 create-react-app
Apr 24 Javascript
ionic使用angularjs表单验证(模板验证)
Dec 12 Javascript
JavaScript实现小球沿正弦曲线运动
Sep 07 Javascript
elementUI select组件value值注意事项详解
May 29 Javascript
如何封装Vue Element的table表格组件
Feb 06 Vue.js
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
德生PL450的电路分析和低放电路的改进办法
2021/03/02 无线电
自编函数解决pathinfo()函数处理中文问题
2014/11/03 PHP
PHP网站建设的流程与步骤分享
2015/09/25 PHP
PHP未登录自动跳转到登录页面
2016/12/21 PHP
可以文本显示的公告栏的js代码
2007/03/11 Javascript
IE中createElement需要注意的一个问题
2010/07/13 Javascript
Eclipse配置Javascript开发环境图文教程
2015/01/29 Javascript
Javascript代码实现仿实例化类
2015/04/03 Javascript
javascript实现table选中的行以指定颜色高亮显示的方法
2015/05/13 Javascript
使用javascript提交form表单方法汇总
2015/06/25 Javascript
Treegrid的动态加载实例代码
2016/04/29 Javascript
vuejs开发组件分享之H5图片上传、压缩及拍照旋转的问题处理
2017/03/06 Javascript
JS全角与半角转化实例(分享)
2017/07/04 Javascript
JavaScript实现QQ列表展开收缩扩展功能
2017/10/30 Javascript
vue组件间通信子与父详解(二)
2017/11/07 Javascript
js传递数组参数到后台controller的方法
2018/03/29 Javascript
jquery分页优化操作实例分析
2019/08/23 jQuery
在react项目中使用antd的form组件,动态设置input框的值
2020/10/24 Javascript
Python中处理字符串之isalpha()方法的使用
2015/05/18 Python
Python enumerate索引迭代代码解析
2018/01/19 Python
Windows上使用Python增加或删除权限的方法
2018/04/24 Python
PyQT5 QTableView显示绑定数据的实例详解
2019/06/25 Python
如何实现Django Rest framework版本控制
2019/07/25 Python
CSS3——齿轮转动关键代码
2013/05/02 HTML / CSS
在线服装零售商:SheIn
2016/07/22 全球购物
家长建议怎么写
2014/05/15 职场文书
环境保护与污染治理求职信
2014/07/16 职场文书
十佳青年事迹材料
2014/08/21 职场文书
办理房产过户的委托书
2014/09/14 职场文书
自查自纠工作情况报告
2014/10/29 职场文书
行政二审代理词
2015/05/25 职场文书
2016形势与政策学习心得体会
2016/01/12 职场文书
自动在Windows中运行Python脚本并定时触发功能实现
2021/09/04 Python
Python 游戏大作炫酷机甲闯关游戏爆肝数千行代码实现案例进阶
2021/10/16 Python
室外天线与收音机天线杆接合方法
2022/04/05 无线电
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android