问题描述

最近遇到一个坑。我在vue里面,如果判断用户信息正确,则要跳转到首页,这样一个基本的功能。然后就查到了下面的方法:

this.$routes.go('/success')
this.$routes.router.go('/success')

当然了结果是不成功的。虽然 log出 this.$routes 是存在的,但是他只包含了几个属性。比如path,name,这些。没有这些go方法了。


问题原因

Vue 2.0较 Vue 1.0 有很大的改变,去除了 go这些方法。反而是用下面的代替的:

// 字符串
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 的说明全部变成了404,估计是Vue团队在改进了以后就去掉了原来的文档说明。我觉得还是留着并且给出读者提示比较友好。

Logo

前往低代码交流专区

更多推荐