vue-router路由传参的方式 和 router/route区别

前言:

Vue Router (官方:https://router.vuejs.org/zh/)是vue.js的官方路由管理器

它和vue.js的核心深度集成,可以非常方便的用于SPA应用程序的开发。

router和route区别

router是属于一个全局也可以用的比如我们跳转页面

route是我们局部来进行使用的比如说我们可以接收路由传过来的参数只限于单个页面使用

  1. 方式一利用动态路由进行传参

只需要在跳转的时候传参

例:

<div v-for="item in list" :key="item.id" class="list">
    <div class="list-one" @click="$router.push('/xiangqing/'+item.id)">
        
    </div>
</div>

其次在router/index.js文件中写路由

注:props:true必须写否则的化 对应的组件无法引入

{
    path: '/xiangqing/:id',
    component: () => import('../views/xiangqing.vue'),
    props:true
  },

要跳转的页面直接用props来进行接收

<script>
export default {
    props: ['id'],
};
</script>

运行结果:

  1. 方式二利用编程式params来进行传参

在跳转传参的时候

注:path换成name来进行跳转

<div v-for="item in list" :key="item.id" class="list">
    <div class="list-one" @click="$router.push({name:'/xiangqing',
     params: { id: item.id }})">
        
    </div>
</div>

路由

{
    path: '/xiangqing',
    name:'/xiangqing',
    component: () => import('../views/xiangqing.vue'),
  },

跳转的页面只需要 this.$route.params来接收

this.$route.params.id

运行效果:

  1. 方式三利用query来进行传参

在跳转传参的时候

注:用path来进行跳转

<div v-for="item in list" :key="item.id" class="list">
    <div class="list-one" @click="$router.push({ path: '/xiangqing',
    query: { id: item.id }})">
        
    </div>
</div>

跳转页面直接用this.$route.query.id来进行接收

{{ $route.query.id }}

运行结果:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

筱闯~

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值