> 网上搜集一番资料, 得出以下总结,更多详情请查看官方文档:https://router.vuejs.org/zh/
params、query是什么?
params:/router1/:id ,/router1/123,/router1/789 ,这里的id叫做params
query:/router1?id=123 ,/router1?id=456 ,这里的id叫做query。
路由设置这里,当你使用params方法传参的时候,要在路由后面加参数名,并且传参的时候,参数名要跟路由后面设置的参数名对应。使用query方法,就没有这种限制,直接在跳转里面用即可。
注意:如果路由上面不写参数,也是可以传过去的,但不会在url上面显示出你的参数,并且当你跳到别的页面或者刷新页面的时候参数会丢失,那依赖这个参数的http请求或者其他操作就会失败。
query
是正常的get
请求的参数传递
举例说明:
http://blog.panshao.xyz?userId=123&appId=456
在这个url
中query
指的是 userId=123&appId=456
转换成json
对象的话就是{userId: 123}
params
是restful
中的参数,可以理解为后台的参数。
举例说明:
很多路由都支持这样的格式,比如express
var express = require('express') var app = express() app.get('/home/:userId/app/:appId', () => { console.log('home' ) })
当我们请求/home/123/app/456
的时候, 路由就会匹配到上面的方法。
其中params
就是指的上面的userId
和 appId
转换成json
就是{userId: 123, appId: 456}