在插件中访问 Nuxt Router

Posted

技术标签:

【中文标题】在插件中访问 Nuxt Router【英文标题】:Access Nuxt Router in plugin 【发布时间】:2021-04-14 11:24:36 【问题描述】:

我创建了一个 Nuxt 插件,该插件在配置文件中加载了一些全局函数。在一个功能中,我想访问路由器,然后推送到新路由。我收到路由器未定义的错误。有人可以帮助我了解我如何在此处访问路由器,如果它没有附加到上下文中。

export default (context, inject) => 
  const someFunction = () => 
    context.router.push( name: 'route-name'  )
  

【问题讨论】:

【参考方案1】:

尝试破坏上下文,然后使用app 访问路由器:

export default (app, inject) => 
  const someFunction = () => 
    app.router.push( name: 'route-name'  )
  

【讨论】:

谢谢。我并不真正了解破坏上下文的过程,但我可以确认这是可行的,以及我从 context.app.router 调用应用程序的解决方案。 它是 ES6 语法,在此处了解更多信息developer.mozilla.org/en-US/docs/Web/javascript/Reference/…【参考方案2】:

我想通了。使用上下文时,您可以访问路由器,如下所示:

context.app.router

【讨论】:

以上是关于在插件中访问 Nuxt Router的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Nuxt 和 Jest 在 Vuex 商店测试中访问 this.app 和/或注入插件

使用 GraphQL (Nuxt) 访问嵌套节点

如何在nuxt中使用vue插件

如何在 Nuxt 插件中使用错误功能?

nuxt 插件文件夹中的 Javascript - 如何在组件中使用?

Nuxt中引入插件时报window is not defined