【发布时间】:2023-04-08 12:41:01
【问题描述】:
我想在 vuex 的模块文件中做this.$router.push(path)。
由于那里没有定义,我该如何执行。
【问题讨论】:
-
@NikleshRaut 似乎 OP 想要以相反的方式访问它,访问 Vuex 中的路由器而不是路由中的状态。
标签: vue.js vuejs2 vuex vue-router
我想在 vuex 的模块文件中做this.$router.push(path)。
由于那里没有定义,我该如何执行。
【问题讨论】:
标签: vue.js vuejs2 vuex vue-router
只需导入路由器即可使用,如下所示:
import router from 'path/to/router'
router.push(path)
为什么会这样:
在 Vue 文件中,this 绑定到 Vue 对象,这就是为什么您可以使用某些可用的方法,例如 $router 或 $store。
但是在普通的 JS 文件中,this 只是绑定到不包含任何 Vue 特殊功能的全局对象,这就是你必须手动导入路由器的原因。
【讨论】: