Vue.js 无法获取Vuex变异或操作以将数据传递到状态
我无法获得将数据传递到应用程序状态的突变或操作。尽管我花了几个小时阅读Vuex文档,但我甚至不确定我给他们打的电话是否正确 我开始创建一个变种,当@click事件被触发时,它只是简单地更新我的状态,但当它不起作用时,我尝试了一个操作,得到了相同的结果:什么都没有 我如何调用操作的示例:Vue.js 无法获取Vuex变异或操作以将数据传递到状态,vue.js,vuejs2,vuex,Vue.js,Vuejs2,Vuex,我无法获得将数据传递到应用程序状态的突变或操作。尽管我花了几个小时阅读Vuex文档,但我甚至不确定我给他们打的电话是否正确 我开始创建一个变种,当@click事件被触发时,它只是简单地更新我的状态,但当它不起作用时,我尝试了一个操作,得到了相同的结果:什么都没有 我如何调用操作的示例: <div v-for="(data, index) in dataList" :key="index"> <div @click="updateDataSomewhereElse(data)
<div v-for="(data, index) in dataList" :key="index">
<div @click="updateDataSomewhereElse(data)"> // action called here
// do some other stuff
</div>
</div>
我的行为和变异示例:
// state code
mutations: {
updateStateData(state, data) {
state.data = data;
}
},
actions: {
setData({commit}, data) {
commit('updateStateData', data);
}
}
不用说,当我的动作被调用时,我希望我的状态会随着我的变异而更新,但我什么都没有得到
我做错了什么
编辑-更多详细信息:
我的初始状态示例:
state: {
data: 'something'
}
从my main.js:
import Vue from 'vue';
import App from './App.vue';
import router from './router';
import store from './store';
new Vue({
router,
store,
render: h => h(App),
}).$mount('#app');
我知道它不会在我的Vue开发工具中返回任何内容,因为它只显示我的初始状态,我无法从那里执行手动提交/分派。此外,我的方法和我的操作中的console.log语句都不会被触发。我已使用
Vue.use(Vuex)将我的store.js文件连接到Vue代码>,因此这不是连接问题。我通过简单地执行以下操作解决了此问题:
<div v-for="(data, index) in dataList" :key="index">
<div>
<span @click="updateDataSomewhereElse(data)">do some other stuff</span>
</div>
</div>
做些别的事情
我不确定这是为什么或如何回答,但我现在正在更新我的状态。我通过简单地执行以下操作修复了此问题:
<div v-for="(data, index) in dataList" :key="index">
<div>
<span @click="updateDataSomewhereElse(data)">do some other stuff</span>
</div>
</div>
做些别的事情
我不确定这是为什么或如何回答的,但我现在正在更新我的状态。您是否可以仔细检查以下内容:-存储已添加到Vue实例-通过向方法添加控制台日志进行调试以验证是否调用了该方法-调试以验证是否调用了该操作如何验证问题?你预期会发生什么?实际发生了什么?请同时提供您的初始状态
我怀疑这是的副本,但将等待确认您是否有Vue。在任何地方使用(Vuex)
?是,我的store.js文件中有它。您是否可以仔细检查以下内容:-store已添加到Vue实例-通过向方法添加控制台日志以验证是否调用了调试-debug以验证是否调用了操作如何验证问题?你预期会发生什么?实际发生了什么?请同时提供您的初始状态
我怀疑这是的副本,但将等待确认您是否有Vue。在任何地方使用(Vuex)
?是的,我的store.js文件中有它。