router.push()的几种用法,包括不传参和两种传参方式
const router = new VueRouter({
routes: [
// 下面的对象就是路由记录
{ path: '/foo', component: Foo,
children: [
// 这也是个路由记录
{ path: 'bar', component: Bar }
]
}
]
})
// 字符串
this.$router.push('login')
// 对象
this.$router.push({path: '/login?url=' + this.$route.path});
// 命名的路由
this.$router.push({ name: 'login', params: { userId: 123 }})
// 带查询参数,变成/foo/bar?selected=1
this.$router.push({path: '/foo/bar', query: {selected: "1"}});
params传参和query传参的区别:
1、用法上的
query要用path来引入,params要用name来引入,接收参数都是类似的,分别是this.route.params.name
2、展示上的
query更加类似于get传参,参数在地址栏中会显示出来
params则类似于post,地址栏中不显示参数