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 相关文章推荐
js 自定义个性下拉选择框示例
Aug 20 Javascript
使用console进行性能测试
Apr 27 Javascript
jquery 无限极下拉菜单的简单实例(精简浓缩版)
May 31 Javascript
angularjs 源码解析之scope
Aug 22 Javascript
js友好的时间返回函数
Aug 24 Javascript
BootStrap轻松实现微信页面开发代码分享
Oct 21 Javascript
JS实现给对象动态添加属性的方法
Jan 05 Javascript
浅谈箭头函数写法在ReactJs中的使用
Aug 22 Javascript
swiper移动端轮播插件(触碰图片之后停止轮播)
Dec 28 Javascript
基于 Immutable.js 实现撤销重做功能的实例代码
Mar 01 Javascript
node.js使用yargs处理命令行参数操作示例
Feb 11 Javascript
基于javascript实现碰撞检测
Mar 12 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
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
php的4种常见运行方式
2015/03/20 PHP
Yii2-GridView 中让关联字段带搜索和排序功能示例
2017/01/21 PHP
thinkPHP5框架闭包函数与子查询传参用法示例
2018/08/02 PHP
php微信公众号开发之翻页查询
2018/10/20 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
JavaScript 开发中规范性的一点感想
2009/06/23 Javascript
jQuery显示和隐藏 常用的状态判断方法
2015/01/29 Javascript
jQuery插件实现多级联动菜单效果
2015/12/01 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
深入剖析JavaScript:Object类型
2016/05/10 Javascript
字太多用...代替的方法(两种)
2017/03/15 Javascript
react.js 父子组件数据绑定实时通讯的示例代码
2017/09/25 Javascript
详解使用Next.js构建服务端渲染应用
2018/07/10 Javascript
JavaScript使用prototype原型实现的封装继承多态示例
2018/08/31 Javascript
Angular Excel 导入与导出的实现代码
2019/04/17 Javascript
微信小程序如何连接Java后台
2019/08/08 Javascript
javascript删除数组元素的七个方法示例
2019/09/09 Javascript
JavaScript实现鼠标移入随机变换颜色
2020/11/24 Javascript
用python分割TXT文件成4K的TXT文件
2009/05/23 Python
全面了解Nginx, WSGI, Flask之间的关系
2018/01/09 Python
10分钟教你用Python实现微信自动回复功能
2018/11/28 Python
Python设计模式之外观模式实例详解
2019/01/17 Python
django query模块
2019/04/20 Python
使用Python第三方库pygame写个贪吃蛇小游戏
2020/03/06 Python
Python pip安装第三方库实现过程解析
2020/07/09 Python
PyCharm2020最新激活码+激活码补丁(亲测最新版PyCharm2020.2激活成功)
2020/11/25 Python
python中子类与父类的关系基础知识点
2021/02/02 Python
Python使用tkinter实现小时钟效果
2021/02/22 Python
英国最大的在线蜡烛商店:Candles Direct
2019/03/26 全球购物
新员工入职感言
2014/02/01 职场文书
服装创业计划书范文
2014/02/05 职场文书
党的群众路线教育实践活动党员个人整改措施
2014/10/27 职场文书
教代会闭幕词
2015/01/28 职场文书
超级实用!五步法则,教你写好年终工作总结
2019/12/05 职场文书