首页 > 解决方案 > 如何在 Vuex 模块 Actions 中使用 vue-router?

问题描述

我想this.$router.push(path)在 vuex 的模块文件中做。由于那里没有定义,我怎么能做到这一点。

标签: vue.jsvuejs2vuexvue-router

解决方案


只需导入路由器,您就可以使用它,如下所示:

import router from 'path/to/router'

router.push(path)

为什么它会这样工作:

在 Vue 文件中,this绑定到 Vue 对象,这就是为什么您可以使用某些可用的方法,例如 $router 或 $store。

然而,在一个普通的 JS 文件this中,它只是绑定到不包含任何 Vue 特殊功能的全局对象,这就是你必须手动导入路由器的原因。


推荐阅读