一、路由传参

params参数:属于路由中的一部分,在配置路由的时候,必须占位

query参数:不属于路由当中的一部分,类似于ajax中的queryString(/home?a=1&b=2)

    //第一种:字符串形式this.$router.push("/search/" + this.keyword + "?k=" + this.keyword.toUpperCase());//第二种:模板字符串this.$router.push(`/search/${this.keyword}?k=${ this.keyword.toUpperCase()}`);//第三种:对象this.$router.push({name:"search",params:{keyword:this.keyword},query:{k:this.keyword.toUpperCase()}})/*注意:使用对象形式配合params传参时,必须使用name属性,不能使用pathname 是配置路由时给 path 取的别名,方便使用$router : 是路由操作对象,只写对象$route : 路由信息对象,只读对象*/

params和query区别:

1.query可以通过name属性或者path属性来引入路由,而params只能通过name属性来引入路由;在使用params传递时如果指定了path属性而没有name属性,那么界面能成功跳转但是不能接受到传递过来的参数 2.query传递参数时会地址栏会发生改变,传递参数会携带在路径中,而params则不会 3.在刷新界面时,query传递的参数不会丢失,而params会丢失

二、路由传参相关题

1.如何指定params参数可传可不传

在配置路由的时候,在占位的后面加上一个?即可

export default {routes:[{path:'/search/:keyword?'}]
}

2.params参数可以传递也可以不传递,但如果传递的是空串,如何解决?

//使用undefined解决
this.$router.push({name:"search",params:{keyword:"" || undefined}, //当传递为空串时候,加个undefinedquery:{k:this.keyword.toUpperCase()}})

3.路由组件能不能传递props数据?

export default {routes:[{path:'/search/:keyword?'
​//第一种:布尔值写法(只准传params参数,不准传query参数)props:true //第二种:对象写法props:{a:1,b:2}//第三种:函数写法(可以传params、query参数)props:($route) => {return {keyword:$route.params.keyword,k:$route.query.k}}//传递参数后同时也要在相关组件接收props:['变量名']}]
}

params/query传参相关推荐

  1. @query传参_vue-router中params传参和query传参的区别及处理方法

    在 Vue 实例内部,你可以通过 $router 访问路由实例.因此你可以调用 this.$router.push 想要导航到不同的 URL,则使用 router.push 方法.这个方法会向 his ...

  2. @query传参_前端框架vue中query和params传参

    注意(用params传参,F5强制刷新参数会被清空,用query,由于参数适用路径传参的所以F5强制刷新也不会被清空.(传参强烈建议适用string)) 也可以选用sessionstorage/loc ...

  3. vue动态路由传参---query传参和params传参

    当一个页面跳转到另一个页面时,组件结构相同,只是内容不同且地址栏后缀不同 ,这个地址栏的后缀就是参数,根据不同参数渲染不同的内容,这个跳转就叫路由传参. 当项目中组件间通过路由跳转,有时,我们需要传递 ...

  4. vue 中的动态传参和query传参

    Vue router 如何传参 params.query 是什么? params:/router1/:id,这里的 id 叫做 params.例如/router1/123, /router1/789 ...

  5. @query传参_VueRouter之query与params两种传参区别

    传参是前端经常需要用的一个操作,很多场景都会需要用到上个页面的参数,比如传个id获取个详情信息,今天咱们就来看看Vue中是怎么实现这种传递参数得 在Vue中提供了两种方法来进行路由传参:query 和 ...

  6. post请求后端body和query传参的区别

    错误: Required request parameter 'username' for method parameter type String is not present 原因: 后端规定的请 ...

  7. Vue之路由的query传参加密解密

    首先,创建一个base64.js const Base64 = {//加密encode(str) {return btoa(encodeURIComponent(str).replace(/%([0- ...

  8. vue使用query传参页面刷新数据丢失问题

    今天开发的时候用query直接传了一个对象,在跳转之后的页面在对这个对象做解析,这样做其实蛮方便的,可惜的是页面不能刷新,虽然刷新后面页面的url还在,但是页面的object解析出错了. 寻其原因 第 ...

  9. 前端Vue中query传参

     传参 接参

最新文章

  1. 树莓派开发6-配置树莓派的Linux内核
  2. zend studio配置mysql_Zend studio for eclipse中使php可以调用mysql相关函数的设置方法
  3. 固定资产拆分比例怎么计算_持有的基金要被份额拆分?对收益有影响吗?
  4. 【Linux】一步一步学Linux——type命令(200)
  5. 【渝粤教育】国家开放大学2018年春季 0221-21T数字电子电路 参考试题
  6. 解决IDEA GIT密码输入错误后,报Authentication failed ... 不再弹出输入框,提交更新失败
  7. 3 二分频verilog与Systemverilog编码
  8. 为资产分类定义折旧范围_SAP 固定资产的配置与逻辑 -
  9. 开源流媒体系统:OBS ( Open Broadcaster Software ) 介绍
  10. 凸优化第五章对偶 5.7 例子
  11. conda恢复默认源_误删文件?试试微软免费数据恢复软件「Windows File Recovery」
  12. 传递参数安全验证代码示例
  13. 【智能无线小车系列九】在树莓派上使用USB摄像头
  14. Sublime安装中文插件
  15. 【跨境电商平台】Magento VS Shopify,选谁进行独立站建站?
  16. 电动汽车热管理粘合剂和密封剂市场现状及未来发展趋势
  17. c盘清理缓存垃圾路径
  18. 电脑显示器设置被锁定如何解锁
  19. java生成word带多级标题,word2007中多级标题的设置和目录的自动生成 | 学步园
  20. 【牛客网OJ题】人民币转换

热门文章

  1. ActiveMq持久订阅必须指定clientId以及设置clientId源码分析
  2. tfa.seq2seq.BasicDecoder的源码解读
  3. python解析jmeter.jtl文件_jmeter测试结果jtl字段分析
  4. 企业里没有TPM(可信赖平台模块)标准的安全芯片计算机,如何开启BitLocker锁定磁盘,如何备份系统,当系统出现问题又如何恢复,快速恢复又兼顾系统安全
  5. 给我制定一个考研数学一的复习计划
  6. 【MS17-010 Eternalblue | 永恒之蓝漏洞复现 |CVE-2017-0144/5/6】
  7. MacDown使用方法
  8. PyQt5 QMessageBox.question一种偷懒的快速对话框
  9. unicode编码转换为中文
  10. 从土木到网络安全的转变