• element ui框架(嵌套路由)


    【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing @163.com】

            实际项目中,很多应用都是单页面应用。也就是说,在输入用户名和密码之后,用户只需要进入一个页面就可以完成所有的操作。当然,说是单页面应用,不同的功能还是需要子路由来实现的。这就是本文要说的嵌套路由。

            前面几节已经完成了基本的网页输出,今天可以通过修改Main.vue的方法来进一步实现嵌套路由

    1、修改Main.vue

    1. <template>
    2. <div>
    3. <el-container>
    4. <el-aside width="200px">
    5. <el-menu :default-openeds="['1']">
    6. <el-submenu index="1">
    7. <template slot="title"><i class="el-icon-message"></i>会员管理</template>
    8. <el-menu-item-group>
    9. <el-menu-item index="1-1">
    10. <router-link to="/Member/Level">会员等级</router-link>
    11. </el-menu-item>
    12. <el-menu-item index="1-2">
    13. <router-link to="/Member/List">会员列表</router-link>
    14. </el-menu-item>
    15. </el-menu-item-group>
    16. </el-submenu>
    17. <el-submenu index="2">
    18. <template slot="title"><i class="el-icon-menu"></i>商品管理</template>
    19. <el-menu-item-group>
    20. <el-menu-item index="2-1">商品分类</el-menu-item>
    21. <el-menu-item index="2-2">商品列表</el-menu-item>
    22. </el-menu-item-group>
    23. </el-submenu>
    24. </el-menu>
    25. </el-aside>
    26. <el-container>
    27. <el-header style="text-align: right; font-size: 12px">
    28. <el-dropdown>
    29. <i class="el-icon-setting" style="margin-right: 15px"></i>
    30. <el-dropdown-menu slot="dropdown">
    31. <el-dropdown-item>用户中心</el-dropdown-item>
    32. <el-dropdown-item>退出登录</el-dropdown-item>
    33. </el-dropdown-menu>
    34. </el-dropdown>
    35. <span>admin</span>
    36. </el-header>
    37. <el-main>
    38. <router-view/>
    39. </el-main>
    40. </el-container>
    41. </el-container>
    42. </div>
    43. </template>
    44. <script>
    45. export default {
    46. name: "Main"
    47. }
    48. </script>
    49. <style scoped>
    50. .el-header {
    51. background-color: #B3C0D1;
    52. color: #333;
    53. line-height: 60px;
    54. }
    55. .el-aside {
    56. color: #333;
    57. }
    58. </style>

            上面的代码略多,主要是三个地方做了修改。第一,添加了基于容器的页面布局。这部分内容可以直接参考element ui给出的示例代码,地址在这,https://element.eleme.cn/#/zh-CN/component/container。第二,将之前el-main的内容修改为router-view,因为这部分的内容是由不同的子路由提供的,绝对不能写死。第三,通过router-link增加两个超链接,一个是/Member/Level,一个是/Member/List,这也是后面需要添加的子网页。

    2、添加两个子网页MemberLevel.vue和MemberList.vue

    2.1 MemberLevel.vue代码

    1. <template>
    2. <div>会员等级</div>
    3. </template>
    4. <script>
    5. export default {
    6. name:"MemberLevel"
    7. }
    8. </script>
    9. <style>
    10. </style>

    2.2 MemberList.vue代码

    1. <template>
    2. <div>会员列表</div>
    3. </template>
    4. <script>
    5. export default {
    6. name:"MemberList"
    7. }
    8. </script>
    9. <style>
    10. </style>

            上面两个网页都是新增的,文件和Login.vue、Main.vue一样,保存在view目录下面即可。

    3、修改路由文件router/index.js

    1. import Vue from 'vue'
    2. import Router from 'vue-router'
    3. import HelloWorld from '@/components/HelloWorld'
    4. import Login from '@/view/Login'
    5. import Main from '@/view/Main'
    6. import MemberLevel from '@/view/MemberLevel'
    7. import MemberList from '@/view/MemberList'
    8. Vue.use(Router)
    9. export default new Router({
    10. routes: [
    11. {
    12. path: '/',
    13. name: 'HelloWorld',
    14. component: HelloWorld
    15. },
    16. {
    17. path: '/Login',
    18. name: 'Login',
    19. component: Login
    20. },
    21. {
    22. path: '/Main',
    23. name: 'Main',
    24. component: Main,
    25. children :[
    26. {
    27. path: '/Member/Level',
    28. name:'MemberLevel',
    29. component: MemberLevel
    30. },
    31. {
    32. path: '/Member/List',
    33. name:'MemberList',
    34. component: MemberList
    35. }
    36. ]
    37. }
    38. ]
    39. })

            和前面几种路由不同,这里新增的路由是子路由,因此必须放在Main的children下面。具体的内容和外面一致,还是path、name、component这三种。

    4、实验测试

            可以直接输入127.0.0.1:8082/Main,不出意外可以看到相关的网页。网页中的超链接也是可以打开的。

     

  • 相关阅读:
    Visual Studio 2022安装教程
    自媒体短视频运营常见的5个问题及解决方案
    04-前端基础CSS第二天
    Python异常「1」(异常的概念、异常捕获、异常的传递、自定义异常)
    UE4 Sequence添加基础动画效果 (01-物体移动)
    【MySQL】表的增删查改
    指针权限,new与delete,类与对象,函数模板,类模板的用法
    Linux 的常用命令大全
    2022年审稿记录
    驱动开发:内核监控FileObject文件回调
  • 原文地址:https://blog.csdn.net/feixiaoxing/article/details/126918310