vue-multi-tab--一个让你在SPA里使用多页签的框架页

简介: 介绍vue-multi-tab 是一套基于 vue 和 element-ui 的 , 实现了 tab-router (一个基于 tab 的路由) 的 单页面, 多页签 应用程序.

介绍

vue-multi-tab 是一套基于 vueelement-ui 的 , 实现了 tab-router (一个基于 tab 的路由) 的 单页面, 多页签 应用程序.

我之前写这个项目的时候,有写了一篇 记一次基于vue的spa多页签实践经验
然后就部分热心网友就在下面回复了一些其他类似的项目,我逐一查看了一下,发现基本都是基于 vue-routerkeep-alive 实现的,这种实现方法有两个比较明显的问题,第一是很难在页签内部跳转,比如我现在这个页签打开的是组件a,然后点击组件a里面的某个链接,我想跳转到组件b,但是是需要在页签不变的情况下打开,不能在新的页签打开,这样基于路由的就很难实现.
另一个问题就是 需要处理 keep-alive 的问题,有趟过 keep-alive 的坑的童鞋基本都了解,基于以上原因,我决定给大家一个 不太一样的实现方式

那么我这个 vue-multi-tab 跟其他产品有什么不同呢?--除了实现多页签功能以为,我们还有很多跟其他同类产品不同的特性,如下.

在线预览

https://noahlam.github.io/vue-multi-tab/

主要特性:

  1. 可以在页签内像 vue-router 一样跳转组件
  2. 没有 keep-alive,所以也无需处理 keep-alive 问题
  3. 双重历史记录(页签内部历史记录和页签历史记录)
  4. 类似 vue-router 的 API(push,replace,back)
  5. 所有组件均默认为异步加载(当然你也可以改成同步的)
  6. 可以单 tab 刷新

API 列表

  1. open 打开一个页签
  2. close 关闭一个页签
  3. showTab 切换 tab
  4. push 标签内跳转
  5. replace 标签内替换
  6. back 标签内后退
  7. closeAll 关闭所有标签
  8. closeOthers 关闭除当前标签外的所有标签
  9. reShow 根据地址栏数据,回显标签和标签内的组件
  10. query 获取 push,replace 传递的参数
  11. info 获取 当前激活的 tab 对象
tips: 更详细的 API 文档请看 这里

其他说明

项目地址 vue-multi-tab,如果你觉得有用,给个 star 鼓励一下.

因为我本身就是个很讨厌记很多API的人,所以仅提供几个简单又能满足绝大部分需求的API,目的就是为了降低学习成本.

如果你觉得无法满足你的需求或使用中发现 bug 或疑问 欢迎 在这里提issue

个人精力有限,还有很多地方需要你的共同参与,如果你兴趣一起维护,欢迎 pr.

来源:https://segmentfault.com/a/1190000016035662

相关文章
|
JavaScript
【Vue3从零开始-实战】S16:详情页样式优化及tab栏内容联动功能实现
【Vue3从零开始-实战】S16:详情页样式优化及tab栏内容联动功能实现
291 0
【Vue3从零开始-实战】S16:详情页样式优化及tab栏内容联动功能实现
|
3月前
|
JavaScript
基于Vue3+TS简单设计一个查看文章时点击展开和点击收起的小功能
该文章展示了如何使用Vue 3和TypeScript创建一个简单的展开和收起功能,用于文章查看时的交互体验。
138 0
基于Vue3+TS简单设计一个查看文章时点击展开和点击收起的小功能
|
4月前
|
小程序 JavaScript 前端开发
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
【微信小程序-原生开发】实用教程06-轮播图、分类页签 tab 、成员列表(含Tdesign升级,切换调试基础库,设置全局样式,配置组件按需注入,添加图片素材,wx:for,生命周期 onLoad)
148 0
|
6月前
|
JavaScript
Ant design vue 样式调整(包含导航栏、a-table表格、分页)
Ant design vue 样式调整(包含导航栏、a-table表格、分页)
516 1
|
6月前
|
API
uniapp中uview组件库丰富LoadingPage 加载页
uniapp中uview组件库丰富LoadingPage 加载页
200 0
|
JSON 前端开发 JavaScript
BootStrap框架下使用JS动态加载table并点击相关列弹出二级页面
在这里记录一下,也是在公司用到的一个例子,刚刚解决,正好趁热打铁。前端页面是采用BootStrap框架搭建的,主要的样式涉及到项目,在这里就不截图了,直接上代码:
109 1
|
JavaScript 前端开发 API
Angular1.4.6框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
Angular1.4.6框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
|
JavaScript 前端开发 API
Vue.js框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
Vue.js框架简单读取数据库信息并渲染完成news新闻文章列表以及detail详情页功能(小试牛刀)
|
JavaScript 前端开发
DZMFullPage - 前端分页动画插件,兼容IE9+,支持Vue
DZMFullPage - 前端分页动画插件,兼容IE9+,支持Vue
105 0
|
资源调度 JavaScript 开发工具
vue3 + TS + elementplus + pinia实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容
vue3 + TS + elementplus + pinia实现后台管理系统左侧菜单联动实现 tab根据路由切换联动内容
438 0