VUE的element动态路由跳转问题

159 阅读1分钟

为了防止接口异常,在上一章的基础上创建一个mork文件夹写了个menu.json放入public文件里:

Element官网:element.eleme.cn/#/zh-CN/gui…

{

    "data": [

        {

            "id": 101,

            "authName": "用户管理",

            "path": "users",

            "children": [

                {

                    "id": 1,

                    "authName": "用户列表",

                    "path": "users",

                    "children": []

                },

                {

                    "id": 2,

                    "authName": "添加用户",

                    "path": "addusers",

                    "children": []

                }

            ]

        },

        {

            "id": 102,

            "authName": "分类管理",

            "path": "categories",

            "children": [

                {

                    "id": 1,

                    "authName": "分类列表",

                    "path": "categories",

                    "children": []

                },{

                    "id": 2,

                    "authName": "添加分类",

                    "path": "addcategories",

                    "children": []

                }

            ]

        },

        {

            "id": 103,

            "authName": "商品管理",

            "path": "goods",

            "children": [

                {

                    "id": 1,

                    "authName": "商品列表",

                    "path": "goods",

                    "children": []

                }

            ]

        }

    ],

    "meta": {

        "msg": "获取菜单列表成功",

        "status": 200

    }

}

App.vue里放入路由容器:

view下LoginView.vue:

    .myform{         width:600px;         margin:50px auto;     }

view下IndexView.vue:

//这里做了点改动,相比上一章这里采取动态路由来获取侧边栏以及二级菜单:

相关注意点已用注释表明:

.el-header {   background-color: #b3c0d1;   color: #333;   line-height: 60px; } .el-aside {   color: #333; }

router下路由配置:采取动态路由,之前的注释掉了:

import Vue from 'vue'

import VueRouter from 'vue-router'

Vue.use(VueRouter)

const routes = [

  {

    path: '/',

    name: 'login',

    component:()=>import('@/views/LoginView.vue')

  },

  {

    path:'/index',

    name:'index',

    /* 已进入页面就默认进入二级路由users页面 */

    redirect:'/index/users',

    component:()=>import('@/views/IndexView.vue'),

     children:[{

      path:'users',

      name:'users',

      component:()=>import('../views/UsersView.vue'),

      },

      {

        path:'addusers',

      name:'addusers',

      component:()=>import('../views/AddusersView.vue'),

      }

     /* {

       path:'roles',

       name:'roles',

       component:()=>import('../views/RolesView.vue'),

     },

     {

       path:'rights',

       name:'rights',

       component:()=>import('../views/RightsView.vue'),

     },

     {

       path:'goods',

       name:'goods',

       component:()=>import('../views/GoodsView.vue'),

     },

     {

       path:'params',

       name:'params',

       component:()=>import('../views/ParamsView.vue'),

     },

     {

       path:'categories',

       name:'categories',

       component:()=>import('../views/CategoriesView.vue'),

     },

     {

       path:'categories',

       name:'categories',

       component:()=>import('../views/CategoriesView.vue'),

     },

     {

       path:'orders',

       name:'ordes',

       component:()=>import('../views/OrdersView.vue'),

     },

     {

       path:'reports',

       name:'reports',

       component:()=>import('../views/ReportsView.vue'),

     }, */

  ]

  }

]

const router = new VueRouter({

  routes

})

export default router

views下跳转的AddcategoriesView.vue: