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 相关文章推荐
Maps Javascript
Jan 22 Javascript
jQuery AjaxQueue改进步骤
Oct 06 Javascript
javascript 二进制运算技巧解析
Nov 27 Javascript
关于jQuery中的each方法(jQuery到底干了什么)
Mar 05 Javascript
使用jquery解析XML的方法
Sep 05 Javascript
jquery实现仿Flash的横向滑动菜单效果代码
Sep 17 Javascript
利用原生js和jQuery实现单选框的勾选和取消操作的方法
Sep 04 Javascript
jquery 键盘事件的使用方法详解
Sep 13 jQuery
js+html5实现手机九宫格密码解锁功能
Jul 30 Javascript
Vue异步组件处理路由组件加载状态的解决方案
Sep 07 Javascript
django使用channels2.x实现实时通讯
Nov 28 Javascript
jQuery实现图片切换效果
Oct 19 jQuery
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循环输出指定目录下的所有文件和文件夹路径例子(简单实用)
2014/05/10 PHP
DEDECMS首页调用图片集里的多张图片
2015/06/05 PHP
PHP获取访问设备信息的方法示例
2019/02/20 PHP
从ThinkPHP3.2.3过渡到ThinkPHP5.0学习笔记图文详解
2019/04/03 PHP
namespace.js Javascript的命名空间库
2011/10/11 Javascript
JavaScript中Math对象方法使用概述
2014/01/02 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
JS修改iframe页面背景颜色的方法
2015/04/01 Javascript
JavaScript控制按钮可用或不可用的方法
2015/04/03 Javascript
jQuery 中的 DOM 操作
2016/04/26 Javascript
AngularJS入门教程之表格实例详解
2016/07/27 Javascript
jQuery监听浏览器窗口大小的变化实例
2017/02/07 Javascript
详解Vue的computed(计算属性)使用实例之TodoList
2017/08/07 Javascript
element-ui的回调函数Events的用法详解
2018/10/16 Javascript
react-router4按需加载(踩坑填坑)
2019/01/06 Javascript
js数组去重的方法总结
2019/01/18 Javascript
Vue.js页面中有多个input搜索框如何实现防抖操作
2019/11/04 Javascript
vue-iview动态新增和删除的方法
2020/06/17 Javascript
vue实现选中效果
2020/10/07 Javascript
Python自动化测试工具Splinter简介和使用实例
2014/05/13 Python
Python3的urllib.parse常用函数小结(urlencode,quote,quote_plus,unquote,unquote_plus等)
2016/09/18 Python
浅析PHP与Python进行数据交互
2018/05/15 Python
django框架基于模板 生成 excel(xls) 文件操作示例
2019/06/19 Python
利用pandas向一个csv文件追加写入数据的实现示例
2020/04/23 Python
python针对Oracle常见查询操作实例分析
2020/04/30 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
基于django和dropzone.js实现上传文件
2020/11/24 Python
Python接口自动化测试框架运行原理及流程
2020/11/30 Python
受外贸欢迎的美国主机:BlueHost
2017/05/16 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
应用心理学个人的求职信
2013/12/08 职场文书
计算机学生求职信范文
2014/01/30 职场文书
丑小鸭教学反思
2014/02/03 职场文书
机械工程师岗位职责
2014/06/16 职场文书
护士求职自荐信
2015/03/25 职场文书
SqlServer常用函数及时间处理小结
2023/05/08 SQL Server