• Vue ——08、路由嵌套,参数传递及重定向


    一、路由嵌套

    嵌套路由又称子路由,在实际应用中,通常由多层嵌套的组件组合而成。

    接着上一个工程

    1、 创建一个user文件夹,文件夹下创建连个视图;

    List.vue

    Profile.vue

    在这里插入图片描述
    2、接着我们在路由中进行嵌套

    在这里插入图片描述
    3、 修改首页视图,我们修改 Main.vue 视图组件,此处使用了 ElementUI 布局容器组件,代码如下:

    Main.vue

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

    运行,我们看一下效果
    在这里插入图片描述

    二、参数传递

    第一种方式:

    1、 修改路由配置, 主要是router下的index.js中的 path 属性中增加了 :id 这样的占位符,取一个名字,叫做UserProfile

    在这里插入图片描述

    2、传递参数

    此时我们在Main.vue中的route-link位置处 to 改为了 :to,是为了将这一属性当成对象使用,注意 router-link 中的 name 属性名称 一定要和 路由中的 name 属性名称 匹配,因为这样 Vue 才能找到对应的路由路径;

    在这里插入图片描述
    3、在要展示的组件Profile.vue中接收参数 使用 {{$route.params.id}}来接收

    在这里插入图片描述
    看一下效果:

    在这里插入图片描述
    如果我们想传递多个参数,可以这样,继续添加就好了

    在这里插入图片描述

    第二种方式:

    使用props 减少耦合

    1、修改路由配置 , 主要在router下的index.js中的路由属性中增加了 props: true 属性

    在这里插入图片描述
    2、在Profile.vue接收参数为目标组件增加 props 属性

    跟我们之前学的知识是一样的

    在这里插入图片描述
    3、看一下效果

    在这里插入图片描述
    想继续传递参数,就继续加

    在这里插入图片描述

    三、重定向

    1、在router下面index.js的配置,配置一个路由,重定向到main

    在这里插入图片描述
    2、放路由、

    在这里插入图片描述
    3、看一下效果

    在这里插入图片描述
    点击

    在这里插入图片描述

    ————————
    创作不易,如觉不错,随手点赞,关注,收藏(* ̄︶ ̄),谢谢~~
  • 相关阅读:
    【信号去噪】基于变分贝叶斯卡尔曼滤波器实现信号滤波附matlab代码
    Spring-AOP配置(XML)
    阿里资深专家撰写出的Nginx底层与源码分析手册,GitHub已爆赞
    Docker harbor私有仓库部署与管理
    Lambda表达式
    华为云云耀云服务器L实例评测|华为云耀云服务器L实例评测包管理工具安装软件(六)
    STC51单片机28——跑马灯
    UE4 Forward平面反射小记
    Dubbo详解,用心看这一篇文章就够了【重点】
    Guide2:Consuming a RESTful Web Service
  • 原文地址:https://blog.csdn.net/weixin_42858422/article/details/122641588