$route
$route获取路由信息
在路由的path里用:id做占位符(id只是一个名字,可以叫其他的)
const router = new VueRouter({
routes: [
{ path: '/user/:id', component: User }
]
})
this.$route.params.id就能获取到路由里的:id
created(){
console.log(this.$route.params.id);
}
http://localhost:8080/#/user/fuck
里的:id是fuck
$router
在 Vue 实例内部,你可以通过 $router
访问路由实例
想要导航到不同的 URL,则使用 router.push
方法。这个方法会向 history 栈添加一个新的记录,所以,当用户点击浏览器后退按钮时,则回到之前的 URL。
// 字符串
router.push('home')
// 对象
router.push({ path: 'home' })
// 命名的路由
router.push({ name: 'user', params: { userId: '123' }})
// 带查询参数,变成 /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})
router.replace
跟 router.push
很像,唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。