欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-03-29 08:21:36
...

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编程式的导航