vue 笔记(十六) 参数传递及重定向

Posted 孤注一掷 、

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vue 笔记(十六) 参数传递及重定向相关的知识,希望对你有一定的参考价值。

接着上一个工程写带有参数请求的路由跳转

一、

1.主页面 Main.vue 传递参数 

<el-menu-item index="1-1">
<!--插入的地方-->
<router-link :to="{name:'UserProfile',params:{ id:1,name:'swk'}}">个人信息</router-link>
</el-menu-item>
<el-menu-item index="1-2">
<!--插入的地方-->
<router-link to="/user/list">用户列表</router-link>
</el-menu-item>

name:传递的组件名

params:传递参数

改成了:to  ,即将这一属性绑定成对象

2.路由配置 index.js 里

children:[
        {
          path:'/user/profile/:id/:name',
          name:'UserProfile',
          component:Profile
        },
        {
          path: '/user/list',
          component: List
        }
      ]

添加name 与上面组件名一致

/:id    添加参数占位符

3.在组件页 Profile.vue 中

  <template>
    <div>
      <h1>个人信息</h1>
      <h1>{{$route.params.id}}</h1>
      <h1>{{$route.params.name}}</h1>
    </div>
  
  </template>
  
  <script>
      export default {
          name: "UserProfile"
      }
  </script>
  
  <style scoped>
  
  </style>

注意:template中 只能有一个元素结点

使用 $route.params.id  来获得参数id的值

4.结果:

二、解耦方式

1.路由配置 index.js 中 添加支持传递参数

children:[
        {
          path:'/user/profile/:id/:name',
          name:'UserProfile',
          // 支持传递参数
          props:true,   
          component:Profile
        },
        {
          path: '/user/list',
          component: List
        }
      ]

2.同样在Main.vue 中 

<el-menu-item index="1-1">
<!--插入的地方-->
<router-link :to="{name:'UserProfile',params:{ id:1,name:'swk'}}">个人信息</router-link>
</el-menu-item>
<el-menu-item index="1-2">
<!--插入的地方-->
<router-link to="/user/list">用户列表</router-link>
</el-menu-item>

3. 在 组件页 Profile.vue 中

  <template>
    <div>
      <h1>个人信息</h1>
      <h1>{{$route.params.id}}</h1>
      <h1>{{$route.params.name}}</h1>
      <h2>{{id}}</h2>
      <h2>{{name}}</h2>
    </div>

  </template>

  <script>
      export default {
        props:['id','name'],
          name: "UserProfile"
      }
  </script>

  <style scoped>

  </style>

4.运行结果:

 

三、重定向

下面写一个重定向到首页的goHome路由路径

1. 在路由配置 index.js 中 添加一条

{
      path: '/goHome',
      redirect:'/main'
    }

2. 主页面 Main.vue 中 添加 

<el-menu-item index="1-3">
                <!--插入的地方-->
                <router-link to="/goHome">回到首页</router-link>
              </el-menu-item>

3.运行结果

点击回到首页,显示

重定向成功!

 

 

以上是关于vue 笔记(十六) 参数传递及重定向的主要内容,如果未能解决你的问题,请参考以下文章

Vue--参数传递及重定向

url传参及重定向

中间件之路由重写及重定向

[vue]传递参数与重定向

ASP.NET Core知多少:路由重写及重定向

14.Vue路由参数传递以及重定向