1. query传递参数会在url后面用?连接起来,且参数之间用&&符号连接然后显示在页面的url中;params传递参数不会显示在页面中;query有点像ajax中的get请求,而params像post请求。

  2. 在vue中使用query要搭配path路径,而params只能由命名路由name来引入;看下列代码:

    路由中path的配置

      {path: '/argu/:name/:id', //这种路由配置是params传递参数,且这个后面必须加参数,如果不加,刷新页面这些参数会消失name:'argu',component: () => import('@/views/argu.vue'),},
    

    使用params传递参数注意要在path路径后面添加参数,不然刷新页面数据会丢失。

    看图:这是没有刷新之前;

    如果path:'/argu'没有后面的参数,刷新页面数据就会丢失

    这是刷新之后:可以看到数据消失了,变为了默认数据。

    使用params传参的具体写法:

    this.$router.push({//params要name一起用,不然接收不到参数name: `argu`,params:{name:'xrw',id:'123'}   });
    

    使用query传递参数,在路由中设置path: ‘/argu’,后面可以不跟参数。

    this.$router.push({ path:'/argu', //如果在路由中配置了name属性在这里也是可以用的 name:'argu' 效果同上query:{ name:'xrw'id : '123'}
    })
    


可以看到使用query传递的参数会显示在url中用?连接起来,可以在浏览器中看到保密性不怎么好。

  1. 两者接收参数的形式

    query:

    //query接收参数
    {{ this.$route.query.name }}
    {{ this.$route.query.id }}
    

    params:

    //params接受参数
    {{ this.$route.params.name }}
    {{ this.$route.params.id }}
    

    组件中也可以用props来进行接受参数,这种方式(推荐方法

    这样需要在路由配置中设置props为true:

      {path: '/argu', name:'argu',component: () => import('@/views/argu.vue'),//设置props为ture,代表将path后面的参数作为值,传递到组件中,组件中通过props属性接受这个值props:true,},
    

    然后再组件中设置props来接收这个参数:

    <template><div>//props形式传递参数{{ name }}{{ id }}//$route形式传递参数{{ this.$route.params.name }} {{ this.$route.params.id }}{{ this.$route.query.name }}{{ this.$route.query.id }} </div>
    </template><script>
    export default {props:{name:{type:String,default:'lily' //默认情况},id:{type:Number,default:'0' //默认情况}}
    }
    </script>
    

    这里我们需要来了解一下 $ route和$router的区别:

    //$router : 是路由操作对象,只写对象
    //$route : 路由信息对象,只读对象//操作 路由跳转
    this.$router.push({name:`argu`,params:{name:'xrw',age:'123'}
    })//读取 路由参数接收
    this.name = this.$route.params.name;
    this.age = this.$route.params.age;
    

    总结

    • query和params是两种传参方式
    • 使用params传参只能由name引入路由,如果写成path页面会显示undefined报错。
    • 使用query传参的话可以使用path也可以使用name引入路由,不过建议使用path引入路由。
    • params是路由的一部分一定要加路由后面添加参数,不添加刷新页面数据会丢失;而query是拼接在url后面的参数,路由后面不添加也没关系。

vue中params和query的区别,以及具体用法相关推荐

  1. vue中params与query区别

    关于vue-router 中参数传递的那些坑(params,query) vue-router传递参数分为两大类: 编程式的导航 router.push 声明式的导航 **query和params的区 ...

  2. 【原】vue-router中params和query的区别

    1.引入方式不同 query要用path来引入 this.$router.push({path: 'test',query: {type: 2,detail: '哈哈'} }) params要用nam ...

  3. vue方法调用失败后多次调用_浅析Vue中 computed / watch / methods的区别

    思考:请说下Vue中computed 和 watch 的区别( 面试题 ) 构造选项 computed / watch / methods computed ● computed 起初构想 在Vue的 ...

  4. params和query的区别

    params和query的区别 引入方式不同: query要使用path来引入,params要使用name来引入,接受参数格式类似,引用分别是this.route.query.name和this.ro ...

  5. vue router 的路由传参 params 和 query 的 区别

    1. 不带参数<router-link :to="{name:'home'}"> <router-link :to="{path:'/home'}&qu ...

  6. Vue路由params、query参数丢失解决

    在vue中路由传参有两种形式:1.params:2.query 解决办法:sessionStorage或者localStorage 两者的区别:localStorage是永久保存不清除一直存在,ses ...

  7. Vue 中 computed vs methods的区别

    computed:计算属性 methods:方法 watch:侦听器 computed与methodes区别 1.computed是响应式的,methods并非响应式. 2.调用方式不一样,compu ...

  8. vue中runtimecompiler和runtimeonly的区别

    简单总结 如果在之后的开发中,你依然使用template,就需要选择runtimecompiler 如果你之后的开发中,使用的是.vue文件夹开发,那么可以选择runtimeonly runtimec ...

  9. vue中的target与currentTarget区别

    <template><transition name="slide"><div class="top_box" @click=&q ...

最新文章

  1. 在CentOS 7.5上升级SQLite3过程实录
  2. 【java】静态代码块
  3. 产品迭代的道与术,爆款产品的打造密码 | 周四话产品
  4. Redis设计与实现笔记
  5. php53 php55区别,详解 PHP 中的三大经典模式
  6. a.pop啥意思python_python中pop什么意思
  7. (计算机组成原理)第二章数据的表示和运算-第二节8:数据的存储和排列
  8. 用户与组管理,磁盘管理
  9. 【TCP/IP】单播与组播
  10. 【学习笔记】JAVA快捷键
  11. 2022-2028全球与中国紫外线点固化系统市场现状及未来发展趋势
  12. Java毕设项目城市公交系统计算机(附源码+系统+数据库+LW)
  13. 【转载】魔方教程七步玩转魔方
  14. 我的2013——学习、工作与生活
  15. 谈谈数据挖掘和机器学习
  16. 为什么hadoop没有slaves配置文件?
  17. 论文浅尝 | ERNIE-ViL:从场景图中获取结构化知识来学习视觉语言联合表示
  18. (12)树莓派B+ GPIO控制四驱车
  19. MICCAI 2021 FLARE 挑战:快速和低 GPU 内存腹部器官分割-附代码
  20. 2021考研数学真题试卷(数学一)

热门文章

  1. linux usb系统【全面】
  2. C语言实现关系的闭包运算
  3. Excel单元格黄色叹号 绿色三角形 去掉方法
  4. 利用VTK实现直线的动态调整(轨迹仿真)
  5. Large Pose 3D Face Reconstruction 文章理解
  6. 计算机的学生跨专业考研
  7. 干货分享 | 速速围观,想要BIM落地,这些应用阶段都不可或缺
  8. STM32F103-LCD1602驱动
  9. 四象限法推导lm曲线_SEM如何用四象限法进行数据分析,提升CTR和CVR?
  10. CanToolApp(windows)项目的四象限法分析