路由query和params参数的区别原创
原创$router 和 $route
$router是Vue-router的路由实例要导航到不同的url,需要使用$router.push方法$route是当前router可以获得跳转对象。name、path、query、params等信息
query
query 传递参数,可以传递 name 和 path 有两种传播形式,
//query传递参数,使用name跳转
this.$router.push({
name:second,
query: {
queryId:20180822,
queryName: query
}
})
//query传递参数,使用path跳转
this.$router.push({
path:second,
query: {
queryId:20180822,
queryName: query
}
})
//query传参接收
this.queryName = this.$route.query.queryName;
this.queryId = this.$route.query.queryId;
生成的 url 如图所示:携带 ? 参数表单的,并包含参数。 key 和 value

params
params 传输参数,仅支持 name 的形式
//params传参 使用name
this.$router.push({
name:second,
params: {
id:20180822,
name: query
}
})
//params接收参数
this.id = this.$route.params.id ;
this.name = this.$route.params.name ;
//路由
{
path: /second/:id/:name,
name: second,
component: () => import(@/view/second)
}
params 需要注意的是,需要定义路由信息,例如: path: /xx/:id/:name ,这允许携带参数跳跃,否则。 url 不会改变,再次刷新页面后不会读取参数。
生成的url如图所示:仅参数 value ,相对较高的安全性

总结
- 接收参数的形式各不相同。
this.$route.query.id和this.$route.params.id query支持path和name两种形式,params仅支持name形式- 生成
url不同的格式,query产生的url带有问号并包含参数。key和value,params仅承载参数value - 使用
params需要设置路线path:/xx/:id/:name的形式
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
itfan123


