除了使用 <router-link> 创建 a 标签来定义导航链接,我们还可以借助 router 的实例方法,通过编写代码来实现。
router-link的用法:
<router-link to="/foo">Go to Foo</router-link>
代码实现
router.push(location,onComplete?,onAbort?)
跳转到指定页面,并向history栈添加一个新的记录,新页面打开后,回退时,则回到之前的url。
location:可以是字符串,对象。
实例:
router.push('login')
router.push({name:'login',params:{user:'12345'}})
router.push({path:'login',query:{user:'12345'}}) 再跳转后的页面中可以this.query 获取参数。
router.replace(location,onComplete?,onAbort?)
跟 router.push 很像,唯一的不同就是,它不会向 history 添加新记录,而是跟它的方法名一样 —— 替换掉当前的 history 记录。
router.go(n)
参数是一个整数,意思是在 history 记录中向前或者后退多少步,类似 window.history.go(n)
// 在浏览器记录中前进一步,等同于 history.forward()
router.go(1)
// 后退一步记录,等同于 history.back()
router.go(-1)
// 前进 3 步记录
router.go(3)
// 如果 history 记录不够用,那就默默地失败呗
router.go(-100)
注意以上代码在 Vue 实例内部,你可以通过 $router 访问路由实例。因此你可以调用 this.$router.XXX

博客介绍了除使用a标签定义导航链接外,借助router实例方法实现导航的方式。包括router.push可跳转到指定页面并添加新记录;router.replace替换当前history记录;router.go可在history记录中前后移动。还给出实例,且提醒在Vue实例内可访问路由实例调用。
1518

被折叠的 条评论
为什么被折叠?



