vue.js - 如何在 Vuex 模块 Actions 中使用 vue-router?
问题描述
我想this.$router.push(path)
在 vuex 的模块文件中做。由于那里没有定义,我怎么能做到这一点。
解决方案
只需导入路由器,您就可以使用它,如下所示:
import router from 'path/to/router'
router.push(path)
为什么它会这样工作:
在 Vue 文件中,this
绑定到 Vue 对象,这就是为什么您可以使用某些可用的方法,例如 $router 或 $store。
然而,在一个普通的 JS 文件this
中,它只是绑定到不包含任何 Vue 特殊功能的全局对象,这就是你必须手动导入路由器的原因。
推荐阅读
- identityserver3 - Identity Server (3) -> 添加条款和条件阶段
- java - 如果 spring SimpleAsyncTaskExecutor 超过 concurrencyLimit 会发生什么事件?
- python - 如何使用枚举或字符串进行过滤并获得相同的结果?
- r - 更改ggplot中图例框的颜色
- mysql - 使用 mysql 数据库中的数据识别用户时出现问题
- android - setDrawerLockMode 的 XML 替代方案
- java - 在 Java 中,除了迭代和插入单个元素之外,是否有更优化的方法来合并多个 JSONArray?
- android - 在 Android 中重新定位文本
- ios - 为订阅优惠生成签名 - Xcode - Swift
- r - 错误:$ 运算符在循环中用于预测时对原子向量无效