Vue.js Can';t从Vuex[Quasar]访问存储
我第一次尝试使用Quasar,并尝试将Vuex与模块一起使用,但我无法访问$store属性,也无法使用…mapState。我收到以下错误“无法读取未定义的属性”logbook“,尽管我可以看到Vue Devtools上存在承诺日志 这是我的store\index.jsVue.js Can';t从Vuex[Quasar]访问存储,vue.js,state,vuex,store,quasar,Vue.js,State,Vuex,Store,Quasar,我第一次尝试使用Quasar,并尝试将Vuex与模块一起使用,但我无法访问$store属性,也无法使用…mapState。我收到以下错误“无法读取未定义的属性”logbook“,尽管我可以看到Vue Devtools上存在承诺日志 这是我的store\index.js 从“Vue”导入Vue; 从“Vuex”导入Vuex; 从“./logbook”导入日志; Vue.use(Vuex); 导出默认函数(/*{ssrContext}*/){ const Store=新的Vuex.Store({ 模
从“Vue”导入Vue;
从“Vuex”导入Vuex;
从“./logbook”导入日志;
Vue.use(Vuex);
导出默认函数(/*{ssrContext}*/){
const Store=新的Vuex.Store({
模块:{
日志,
},
严格:process.env.DEV,
});
退货店;
}
这是组件
射频识别
从“vuex”导入{mapState,MapGetter,mapActions};
导出默认值{
名称:“RFID”,
安装的(){
这是.getLogbookData();
},
方法:{
…映射操作('logbook',['getLogbookData']),
…映射器('logbook',['loadedLogbook']),
…映射状态('logbook',['logbookData']),
日志数据:()=>{
console.log(此.loadedLogbook);
},
},
数据(){
返回{
};
},
};
这是state.js
导出默认值{
日志数据:[],
};
更新:通过重构我声明函数的方式解决了这个问题。我从:
logData:()=>{console.log(this.loadedLogbook);}
到
logData(){console.log(this.loadedLogbook);}
检查.quasar/app.js
文件。是否有一行类似于从“app/src/store/index”导入createStore,并且该存储随后与该应用一起导出到同一文件中的代码?我认为您混淆了所有mapx函数
…mapState和…MapGetter提供计算属性,应按如下方式处理
export default {
name: 'RFID',
data() {
return {
};
},
mounted() {
this.getLogbookData();
},
computed: {
...mapGetters('logbook', ['loadedLogbook']),
...mapState('logbook', ['logbookData']),
}
methods: {
...mapActions('logbook', ['getLogbookData']),
logData: () => {
console.log(this.loadedLogbook);
},
}
};
您似乎缺少
名称空间:true
内部存储对象您好,谢谢您的输入。问题在于我声明函数的方式。我从:logData:()=>{console.log(this.loadedLogbook);}
更改为logData(){console.log(this.loadedLogbook);}
,并且工作正常。