Vue Router Tab 是基于 Vue Router
的路由页签组件。
npm i vue-router-tab -S
yarn add vue-router-tab
https://bhuh12.github.io/vue-router-tab/
https://bhuh12.github.io/vue-router-tab/demo/
https://github.com/bhuh12/vue-router-tab/releases
目前主流的 Vue.js
多页签方案(参考文档),是基于 <keep-alive>
和 <router-view>
组件实现的,由于通过组件的 name
来控制缓存,该方案存在以下缺陷:
配置繁杂:需要同时配置 route 和 页面组件的 name
并保持一致,还要确保 name
不重复
同一个页面组件难以在不同的路由页签中独立缓存,不利于组件的复用
页面缓存难以清理,需要通过各种钩子来更新页面数据
无法定制页签打开的规则
另外还有一种方案,是弃用 Vue Router
,自行实现路由和缓存控制。该方案需要使用其提供的 API 来控制页签打开和切换,对于现有的 Vue Router
项目引入改动量比较大。
针对现存方案的各种问题,Vue Router Tab
定制开发了 <router-alive>
缓存组件来控制路由页面缓存。除了解决了其他方案的不足,Vue Router Tab
还拥有以下优势:
Vue Router Tab
是完全响应 Vue Router
路由的。使用熟悉的 <router-link>
或者 router.push
等 api 即可方便的打开和切换页签,您可以使用 Vue Router
的完整功能。
Vue Router Tab
只依赖 Vue
和 Vue Router
。不会引入额外的依赖。
配置简单,引入组件后通过路由的 meta
配置页签信息即可
可以方便的定制页签的打开规则,精准控制路由页签
丰富的选项提供你可能需要的额外功能和自定义配置
提供完善的文档说明、代码示例和Demo演示
任务 | 命令 | 备注 |
---|---|---|
插件:构建 | npm run lib:build |
操作前:更改 babel.config.js 中的 useBuiltIns 值为 false 以去除 ployfill |
插件:构建并生成报告 | npm run lib:build:report |
- 同上 |
插件:发布 | npm run lib:publish |
操作前:更改 package.json 中的 version 为新的版本号 |
文档:开发 | npm run docs:dev |
|
文档:构建 | npm run docs:build |
|
Demo: 开发 | npm run demo:dev |
|
Demo: 构建 | npm run demo:build |
|
代码风格:检查 | npm run lint |
|
代码风格:检查并修复 | npm run lint:fix |
|
代码:提交 | npm run commit |
Copyright (c) 2019-present, 碧海幽虹