访问 Nuxt 路由器插件的方法

12

我创建了一个 Nuxt 插件,在配置文件中加载了一些全局函数。在一个函数中,我想要访问路由器并跳转到新的路由。但是我得到了一个错误,指出 router 未定义。有人能帮助我理解如何在这里访问路由器吗?如果它没有附加到上下文,该怎么办。

export default (context, inject) => {
  const someFunction = () => {
    context.router.push({ name: 'route-name' } })
  }
}
2个回答

15
尝试解构上下文,然后使用app来访问路由器。
export default ({app}, inject) => {
  const someFunction = () => {
    app.router.push({ name: 'route-name' } })
  }
}

谢谢。我并不是很理解上下文销毁的过程,但我可以确认这个方法可行,以及我的解决方案——从context.app.router调用应用程序。 - user1666858
1
这是ES6语法,了解更多请访问https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment - Boussadjra Brahim

5
我明白了。在使用上下文时,您可以像这样访问路由器:
context.app.router

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接