首先路由跳转有两种方式
1.通过 <router-link></router-link>
实现
2.通过 this.$router.push({})
然后this.$router.push({}
又有多种传值方式。其中主要是这两种
1.this.$router.push({ name: 'order', params: { id: id } })
2.this.$router.push({ path: 'order', query: { id: id } })
**注:**肯定有不少小伙伴没有注意到一个细节。params对应的key是name.而query对应的是path。如果用path去取params是没有办法取到值
导致这样的原因是因为params需要通过name来获取,这里就要明白query和params的区别了
query要用path来引入,接收参数都是this. r o u t e . q u e r y . n a m e 。 q u e r y 类 似 于 a j a x 中 g e t 传 参 , 即 在 浏 览 器 地 址 栏 中 显 示 参 数 。 p a r a m s 要 用 n a m e 来 引 入 , 接 收 参 数 都 是 t h i s . route.query.name。query类似于ajax中get传参,即在浏览器地址栏中显示参数。 params要用name来引入,接收参数都是this. route.query.name。query类似于ajax中get传参,即在浏览器地址栏中显示参数。params要用name来引入,接收参数都是this.route.params.name。params则类似于post,即在浏览器地址栏中不显示参数。