router和route的区别
$route为当前router跳转对象里面可以获取name、path、query、params等
$router为VueRouter实例,想要导航到不同URL,则使用$router.push方法
params和query的区别
query要用path来引入,params要用name来引入,接收参数都是类似的,
分别是this.$route.query.name和this.$route.params.name。
this.$router.push({
path:"/detail",
query:{
code:10011
}
});
this.$router.push({
name:"detail",
params:{
code:10011
}
});
- 展示上的
query更加类似于我们ajax中get传参,params则类似于post,说的再简单一点,前者在浏览器地址栏中显示参数,后者则不显示
router.replace
- 跳转登录页
- 携带当前页面路由,以在登录页面完成登录后返回当前页面
router.replace({
path: '/login',
query: {
redirect: router.currentRoute.fullPath
}
});