Vue 菜单路由(router)只替换对应主页面中内容,而不是整个home页面的router index.js的两种设置方法

在系统登录到系统主页面之后,通过点击不同的菜单动态在主页面内替换相应的内容,而保持菜单栏和标题栏内容不变,可以通过以下两种方式实现,两种方式的原理都是相同的,

方式一:在路由设置时,设置一个home路由,其compone对应的就是home组件,然后一级菜单对应的路由都作为其children[ ]进行设置,在home页面的 主界面(main)添加<router-view>,则在点击主界面的菜单栏跳转指定的router时,就会只替换home中添加<router-view>的位置,此操作相当于是把其他的组件都设置成了home组件的子组件。其他的需要进行全部显示页面替换的可以写成home路由并列的路由对象,例如:login,404等。

const routes = [
  {
    path: '/',
    redirect:'/login',
  },
  {
    path: '/login',
    name: 'login',
    component: () => import('../views/Login/index.vue')
  },
  {
    path:'/home',
    name:'home',
    component: Home,
    redirect:'/welcome',
    // component:() => import('../views/Home/index.vue'),
    children:[
      {
        path:'/welcome',
        component:()=>import('../views/Home/Welcome/index.vue'),
      },
      {
        path:'/users',
        component:()=>import('../views/UserManage/UserManage.vue'),
      },
    ]
  },

方式二:其实原理是相同的,就是写法的不同而已。每个一级菜单对应一个路由对象,同时每个一级菜单对应路由的组件(component)都设置为home(Layout)组件,然后,其默认跳转到一个二级菜单路由,其所有的二级菜单都作为其children[ ],如果有三级菜单的话继续利用children[]进行。方法二的结构看起来更清晰,但是多写了些重复的代码。

import Layout from '../views/layout/Layout'

export const constantRouterMap = [
  { path: '/login', component: () => import('@/views/login/index'), hidden: true },
  { path: '/404', component: () => import('@/views/404'), hidden: true },

  {
    path: '/',
    component: Layout,
    redirect: '/dashboard',
    name: 'Dashboard',
    hidden: true,
    children: [{
      path: 'dashboard',
      component: () => import('@/views/dashboard/index')
    }]
  },

  {
    path: '/example',
    component: Layout,
    redirect: '/example/table',
    name: 'Example',
    meta: { title: 'Example', icon: 'example' },
    children: [
      {
        path: 'table',
        name: 'Table',
        component: () => import('@/views/table/index'),
        meta: { title: 'Table', icon: 'table' }
      },
      {
        path: 'tree',
        name: 'Tree',
        component: () => import('@/views/tree/index'),
        meta: { title: 'Tree', icon: 'tree' }
      }
    ]
  },

 

 

  • 10
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Vuerouter下的index.js是一个路由配置文件,用于定义应用程序的路由规则。它包含了路由的基本配置信息,如路由路径、组件、重定向等。在Vue应用,我们可以通过修改index.js文件来定义路由规则,从而实现页面之间的跳转和导航。同时,index.js文件也可以通过导入其他模块来扩展路由功能,如路由守卫、动态路由等。总之,index.jsVue非常重要的一个文件,它为我们提供了强大的路由功能,使得我们可以更加灵活地构建应用程序。 ### 回答2: Vuerouter下的index.js文件是Vue-router库提供的路由配置文件。在Vue项目使用Vue-router库可以实现前端路由功能,用于页面的导航和路径的映射。 index.js文件是整个路由系统的入口文件,负责定义路由规则、实例化路由对象以及导出路由配置。在index.js文件,需要引入VueVue-router库,通过Vue.use()方法Vue-router注册为Vue插件。 首先,在index.js文件定义路由规则。可以使用Vue-router提供的Router构造函数来创建一个路由实例,通过创建一个路由实例并配置routes选项来定义路由规则。路由规则每个路由都会指定一个路径和对应的组件,当路径与某个路由匹配时,会渲染对应的组件。 其次,通过实例化路由对象,传入定义好的路由规则,创建一个Vue-router实例。可以通过配置mode选项来指定路由的模式,包括hash模式和history模式。通过将Vue-router实例注入到Vue实例的router选项,使得整个应用都可以使用路由功能。 最后,将路由配置导出,供Vue实例引用。通过Vue实例的router选项引入路由配置,可以在项目使用<router-link>和<router-view>组件实现页面的跳转和内容的动态渲染。 总之,Vuerouter下的index.js文件是Vue-router库提供的路由配置文件,负责定义路由规则、实例化路由对象以及导出路由配置,实现前端路由功能。 ### 回答3: 在Vuerouter下的index.js是一个路由配置文件,它用于定义前端路由的映射关系。 首先,我们可以在index.js导入VueVue Router模块,并使用Vue.use()方法来注册Vue Router插件。接着,我们可以创建一个新的VueRouter实例,并把它作为参数传递给Vue实例router配置,以便Vue应用程序能够根据路由进行页面导航。 在index.js,我们可以定义一个routes数组,用于存放不同路径的路由配置。每个路由配置由一个对象表示,包括path、name、component和meta等属性。其,path表示路由的路径,name表示路由的名称,component表示路由对应的组件,而meta则是一些额外的元数据,用于配置路由的一些特殊信息。 路由配置之后,我们需要把路由配置导出,以便在其他地方使用。同时,我们还可以配置一些全局的路由守卫,例如beforeEach和afterEach,在路由导航前或后执行一些操作。 通过这样的方式,我们可以方便地管理Vue应用程序路由,根据不同的路径加载不同的组件,并可以方便地携带一些额外的信息。这样,我们就可以实现页面之间的无缝切换和跳转,提供更好的用户体验。总之,index.jsVuerouter下,是一个非常重要的文件,用于配置前端路由的映射关系。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值