小谢第34问:vue中路由传参params 和 query区别

举个栗子作对比:

使用params:

this.$router.push({ name: 'paramsRouterUrl',params:{'属性':'属性值'}}) 

使用query:

this.$router.push({ path: '/queryRouterUrl',query:{'属性':'属性值'}})  

1、params路由卸载name后,而query传参name\path都可以传递路由

2、params传参类似于get请求,会把传递的参数拼接到路由后面,在url中展示

····query传参在地址栏中不显示参数

3、params传参数时候,再次刷新参数就会消失,query不会

注:

router是VueRouter的一个对象,通过Vue.use(VueRouter)和VueRouter构造函数得到一个router的实例对象,这个对象中是一个全局的对象,他包含了所有的路由包含了许多关键的对象和属性。

$router.push({path:'login'});本质是向history栈中添加一个路由,在我们看来是 切换路由,但本质是在添加一个history记录;

而route是一个跳转的路由对象,每一个路由都会有一个route对象,是一个局部的对象,可以获取对应的name,path,params,query等

 

总结:建议使用query传参

posted @ 2020-07-06 13:52  优雅的小谢  阅读(395)  评论(2编辑  收藏  举报
Live2D