请问 typescript的vu-router中push方法应该怎么重写?
发布于 1 个月前 作者 chaoren 116 次浏览 来自 问答
粉丝福利 : 关注VUE中文社区公众号,回复视频领取粉丝福利

我知道在js中的方法:

    const originalPush = Router.prototype.push
    Router.prototype.push = function push(location) {
       return originalPush.call(this, location).catch(err => err)
   }

那在typescript中应该怎么写呢?

2 回复

没验证过对不对

import VueRouter, { RouteConfig, RawLocation, Route } from 'vue-router'

const originalPush = VueRouter.prototype.push as unknown as Promise<Route>
VueRouter.prototype.push = function push (location: RawLocation) {
  return (originalPush as any).call(this, location).catch((err: Error) => err)
}
CaiPeng1989:

outeConfig, RawLocation, Route

非常感谢,在我这里是可行的

回到顶部