javascript - 无法在 Vuex 中使用 store.subscribe() 方法
问题描述
我只是想store.subscribe()
在Vuex
. 我不断收到以下错误,这似乎表明没有 store.subscribe 方法,与文档中的内容相反:
未捕获的类型错误:WEBPACK_IMPORTED_MODULE_2__store .a.state.subscribe 不是函数
这是我的代码:
app.js
文件,我在其中初始化所有内容,注册我的组件等:
import Vuex from 'vuex';
import router from './routes';
import store from './store';
window.Vue = require('vue');
const app = new Vue({
el: '#app',
router,
store: new Vuex.Store(store)
});
store.subscribe((mutation, state) => {
console.log(mutation.type)
console.log(mutation.payload)
})
我的store.js
文件,用作我的集中Vuex
存储。到目前为止,它一直运行良好:
import router from './routes';
export default {
state: {
sample: {
}
},
mutations: {
sample(state){
}
},
getters: {
sample(state){
return state.sample
}
}
}
我该如何纠正这个问题
解决方案
我认为发生这种情况是因为store
它仍然只是一个常规对象,而不是Vuex
当您调用它时的实例。您可以尝试以下方法:
import Vuex from 'vuex';
import router from './routes';
import store from './store';
window.Vue = require('vue');
const myStore = new Vuex.Store(store)
const app = new Vue({
el: '#app',
router,
store: myStore
});
myStore.subscribe((mutation, state) => {
console.log(mutation.type)
console.log(mutation.payload)
})
推荐阅读
- linkedin-api - Linkedin Lead Gen Forms webhook API
- android - 不同类型的fragmentManagers
- css - 如何正确转换以下 css 对象
- .net - 使用数据集的简单元素后输出 xsd 序列信息
- java - 如何使用 testng 运行功能文件而不是功能文件的场景
- cookies - 如何在具有不同顶级域(例如,xxx.uk、xxx.fr 等)的站点之间传播/同步 cookie?
- akka.net - Akka.Net 中的 ContinueWith 异常不会重新启动
- c# - 通过 HTTPS GET 链接向控制器调用 Angular 8 WebAPI 方法
- vb.net - 连接到 WebRequest 服务器
- javascript - Qualtrics 中的嵌入数据显示在“数据和分析”选项卡中,但未向参与者显示