vue常见的三种传参方式

  • 前言:今天说一下vue常见的三种传参方式,可能网上也有很多资料供大家学习,这里也为了巩固自己再说一下吧

我们先来写三个div,并加上自己的点击事件

<div @click="up('beijing')">点击跳转1 query传参</div>
<div @click="centre('shanghai')">点击跳转2 params传参</div>
<div @click="down('shenzhen')">点击跳转3  直接调用$router.push实现携带参数的跳转</div>

第一种:query传参

    up(x){
      console.log(x)
      this.$router.push({
        path:'/home/detail',
        query:{
          id:x
        }
      });
    }

子组件接收:

{{this.$route.query.id}}

第二种:params传参

    centre(x){
      this.$router.push({
        name:'Detail', //注意这里跟的是组件名
        params:{
          id:x
        }
      });
    },

子组件接收:

{{this.$route.params.id}}

第三种:直接调用$router.push实现携带参数的跳转

   down(id){
      this.$router.push({
        path:`/home/detail/${id}`,  //注意这里用的是模板字符串了而不是引号
      });
    }

需要对应路由配置如下:

{
path: '/home/detail:id',
name: 'Detail',
component: () => import('../components/Detail.vue')
}

*注:这里说下params跟query的区别吧

  • params相当于 post 隐示传输
  • query 相当于get 明文传输
  • $router.push实现携带参数的跳转 path后跟的是模板字符串
  • 2
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Vue 2中,有几种传递路由参数的方式。以下是其中一些常见方式: 1. 路径参数(Path Parameters):通过在路由路径中添加占位符来传递参数。在定义路由时,可以使用`:`来指定参数名称,然后在实际跳转时,将对应的值填入路径中。例如: ```javascript // 路由定义 { path: '/user/:id', component: User, } // 实际跳转 router.push('/user/123'); ``` 在上述例子中,`:id`是一个占位符,代表要传递的参数名称,可以在`User`组件中通过`$route.params.id`来获取传递的值。 2. 查询参数(Query Parameters):通过在URL中添加查询参数来传递数据。可以使用`query`方法或者`router-link`组件的`to`属性来生成包含查询参数的URL。例如: ```javascript // query方法 router.push({ path: '/user', query: { id: 123 } }); // router-link组件 <router-link :to="{ path: '/user', query: { id: 123 } }">User</router-link> ``` 在上述例子中,传递的参数名称是`id`,可以在`User`组件中通过`$route.query.id`来获取传递的值。 3. 命名路由(Named Routes):给路由命名可以简化路由跳转,并且可以带有参数。首先,在定义路由时,给路由对象添加一个`name`属性。然后,在实际跳转时,使用`name`属性来指定要跳转的路由,并传递参数。例如: ```javascript // 路由定义 { path: '/user/:id', name: 'user', component: User, } // 实际跳转 router.push({ name: 'user', params: { id: 123 } }); ``` 在上述例子中,通过给路由定义一个`name`属性,可以使用`name`属性来指定要跳转的路由,并通过`params`属性传递参数。在`User`组件中,可以通过`$route.params.id`来获取传递的值。 这些是Vue 2中常用的路由传参方式,根据具体的需求,选择适合的方式来传递参数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值