Router原型链上的push重写报undefined错误

y_w_x_k 2020-09-04 10:43:39
vue-cli3编写项目,自己定义一个router/index.js

页面跳转就报push undefined
如图:


求大佬看下这是为什么
...全文
12590 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
y_w_x_k 2020-09-16
  • 打赏
  • 举报
回复
引用 7 楼 風灬雲 的回复:
[quote=引用 5 楼 y_w_x_k 的回复:][quote=引用 4 楼 風灬雲 的回复:]vue-router 3.1.0+ 才会返回Promise吧 看下你的版本号是多少
3.0.7[/quote] 在 2.2.0+,可选的在 router.push 或 router.replace 中提供 onComplete 和 onAbort 回调作为第二个和第三个参数。这些回调将会在导航成功完成 (在所有的异步钩子被解析之后) 或终止 (导航到相同的路由、或在当前导航完成之前导航到另一个不同的路由) 的时候进行相应的调用。在 3.1.0+,可以省略第二个和第三个参数,此时如果支持 Promise,router.push 或 router.replace 将返回一个 Promise。 routerPush.call(this, location, onComplete, onAbort); 3.1.0+ 才能用.then .catch [/quote] 明白了,感谢
風灬雲 2020-09-10
  • 打赏
  • 举报
回复
引用 5 楼 y_w_x_k 的回复:
[quote=引用 4 楼 風灬雲 的回复:]vue-router 3.1.0+ 才会返回Promise吧 看下你的版本号是多少
3.0.7[/quote] 在 2.2.0+,可选的在 router.push 或 router.replace 中提供 onComplete 和 onAbort 回调作为第二个和第三个参数。这些回调将会在导航成功完成 (在所有的异步钩子被解析之后) 或终止 (导航到相同的路由、或在当前导航完成之前导航到另一个不同的路由) 的时候进行相应的调用。在 3.1.0+,可以省略第二个和第三个参数,此时如果支持 Promise,router.push 或 router.replace 将返回一个 Promise。 routerPush.call(this, location, onComplete, onAbort); 3.1.0+ 才能用.then .catch
y_w_x_k 2020-09-09
  • 打赏
  • 举报
回复
引用 2 楼 zc_1994 的回复:
看你上面保存了一下this,是不是要换成_this
换过了,也没用
y_w_x_k 2020-09-09
  • 打赏
  • 举报
回复
我把重写原型链的代码去掉了也没毛病
y_w_x_k 2020-09-09
  • 打赏
  • 举报
回复
引用 4 楼 風灬雲 的回复:
vue-router 3.1.0+ 才会返回Promise吧 看下你的版本号是多少
3.0.7
風灬雲 2020-09-09
  • 打赏
  • 举报
回复
vue-router 3.1.0+ 才会返回Promise吧 看下你的版本号是多少
zc_1994 2020-09-05
  • 打赏
  • 举报
回复
看你上面保存了一下this,是不是要换成_this
zc_1994 2020-09-05
  • 打赏
  • 举报
回复
是不是this指向?

87,910

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧