vue router.push(),router.replace(),router.go(),router.back(),router. forward()

黄毅
2023-12-01

1、router.push():导航到不同的 url,向 history 栈添加一个新的记录。(=== window.history.pushState)

声明式编程式
<router-link :to="">router.push()
// 字符串
router.push('home')

// 对象
router.push({ path: 'home' })

// 命名的路由
router.push({ name: 'user', params: { userId: '123' }})

// 带查询参数,变成 /register?plan=private
router.push({ path: 'register', query: { plan: 'private' }})

2、router.replace():导航到不同 url,替换 history 栈中当前记录。(=== window.history.replaceState)

声明式编程式
<router-link :to="" replace>router.replace()

3、router.go(n):指定前进/回退的步数。n 为正数的时候是前进;负数的时候是后退;0的时候是刷新当前页面。(===window.history.go)

// 在浏览器记录中前进一步,等同于 history.forward()
router.go(1)

// 后退一步记录,等同于 history.back()
router.go(-1)

// 前进 3 步记录
router.go(3)

// 如果 history 记录不够用,那就默默地失败呗
router.go(-100)
router.go(100)

4、router. forward():前进一步。
5、router.back():回退一步。
注意:当你点击 <router-link> 时,这个方法会在内部调用,所以说,点击 <router-link :to=""> 等同于调用 router.push()
参考:Vue Route编程式的导航

相关阅读

相关文章

相关问答