vue2[初级] 路由组件传参

本文介绍了Vue2中路由组件的传参方式,包括param和query。通过创建Student和StudentInfo组件,展示了如何配置路由、在父组件中添加链接,以及在子组件中接收和监听参数变化。param传参需要在路由配置中声明,而query传参不需要,两者都可以通过this.$route获取。最后,提供了源码供读者下载学习。
摘要由CSDN通过智能技术生成

路由组件传递参数

路由组件传递参数分为两种 param 和 query

param传参

– 传参步骤

    1. 创建一级菜单组件Student.vue
    1. 创建二级菜单(子菜单)组件StudentInfo.vue
    1. 路由中配置一级菜单及子菜单
    1. 父组件App.vue中添加Student组件的连接
    1. 一级菜单Student.vue中模拟数据并展示数据列表
    1. 一级菜单中配置params传参
    1. 二级菜单(StudentInfo)中通过this.$route.params.id 方式获取一级菜单中配置的参数id
    1. 一级菜单中通过watch实时监听id变化 有变化则从之前的集合中根据id获取值 然后绑定到属性stu上 传递给二级菜单
      – 获取值的方式有很多,这里顺便练习了下父子组件传递属性值
  • [扩展]二级菜单中可通过watch来实时监听id的变化 有变化则调用byId接口获取数据并在当前页面展示

源码

一级菜单Student.vue
<template>
<div>
  <pre style="font-size: 22px">
    params 传递参数 使用${stu.id} 然后需要在路由配置 path:'stuInfo/:id'
    在子组件中通过this.$route.params.id获取
    子组件中使用watch来监听这个id的变化,不能使用computed
    注意 这里的params.id 的id 要与路由中配置的一致 否则取不到值
  </pre>
  <ul>
    <li v-for="(stu,index) in stuList" :key="stu.id">
      <router-link :to="`/studentList/studentInfo/${stu.id}`">{
  {stu.id}}   {
  {stu.name}}</router-link>
    </li>
  </ul>
  <hr>
  <router-view></router-view>

  <StudentInfo :stu="stu"/>

</div>
</template>

<script>
 // import axios from '
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值