Vue项目中模块化封装vue-router(易拓展、可维护)

实现思路
  1. 引入Vue和VueRouter库;

  2. 通过引入项目组所需使用的组件,包括Login、Home、FirstRouter和SecondRouter等;

  3. 定义了一个createRoute函数,用于创建路由对象,包括以下几个属性:路径(path)、名称(name)、组件(component)、重定向(redirect)、标题(title)、按钮权限(btnPermissions)和子路由(children);

  4. 通过调用createRoute函数,创建了一个路由对象数组allRoutes。数组中的元素通过调用createRoute函数创建的路由对象,这些路由对象包括根路径的路由对象、一级路由的路由对象(二级路由对象、三级…);

  5. 将allRoutes数组通过扩展运算符(…)展开,并赋值给变量routes,形成了完整的路由对象数组。

  6. 最后,通过export default将routes导出;

完整代码
import Vue from "vue";
import VueRouter from "vue-router";

// 引入所需的组件
import Login from './components/Login.vue';
import Home from './components/Home.vue';
import FirstRouter from './components/FirstRouter.vue';
import SecondRouter from './components/SecondRouter.vue';

// 创建路由对象函数
function createRoute(path, name, component, redirect, title, btnPermissions = [], children = []) {
  return {
    path,
    name,
    component,
    redirect,
    meta: {
      title,
      btnPermissions
    },
    children
  };
}

// 创建路由对象数组
const allRoutes = [
  createRoute('/', '', null, '/first-router', '', [], []),
  createRoute('/first-router', 'FirstRouter', FirstRouter, '', '一级路由页面', ['admin'], [
    createRoute('/first-router/second-router', 'SecondRouter', SecondRouter, '', '二级路由页面', [], [三级路由对象...])
    // 添加其他二级路由对象
  ]),
  // 添加其他一级路由对象
];


// 创建完整的路由对象数组
const routes = [
  ...allRoutes,
];

export default routes;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我也想做全栈一霸!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值