Я новичок в Vuex. я пытаюсь получить массив с именем expenceHeadData[]
из одного из моих модулей хранилища с именем economceHeadDetail.js с помощью свойства вычисляемого метода, но он показывает мне массив с именем expenceData[]
другого модуля с именем economceDetail.js.
Я добавил код из трех файлов, которые относятся к моей проблеме.
спасибо
expenceHeadDetail.js
import ApiService from '../services/ApiService';
export default {
strict: true,
state:{
selectedIndex: -1,
expenceHeadData:[],
endPoint:'expence_head'
},
mutations:{
updateSelectIndex:(state,sindex)=>{
state.selectedIndex=sindex;
},
loadHeads(state, value) {
state.expenceHeadData = value;
},
updateExpenceHeadData:(state,{index,value})=>{
state.expenceHeadData.splice(index,1,value);
},
addExpenceHeadData:(state,value)=>{
state.expenceHeadData.push(value);
},
deleteExpenceHeadData:(state,value)=>{
state.expenceHeadData.splice(value,1);
}
},
actions:{
updateSelectIndex:({state,commit},sindex)=>{
commit('updateSelectIndex',sindex);
},
updateExpenceHeadLoad({state,commit}) {
ApiService.getAll(state.endPoint)
.then(res => {
commit('loadHeads', res.data);
});
},
updateExpenceHeadData:({state,commit},{index,value})=>{
//commit('updateExpenceHeadData',{index,value});
console.log(index)
ApiService.update(state.endPoint, value)
.then(res => {
commit('updateExpenceHeadData',{index,value:res.data});
})
.catch(error=>{
console.log("Update Bank Failed");
});
},
addExpenceHeadData:({state,commit},value)=>{
console.log(value);
//commit('addExpenceHeadData',value);
ApiService.save(state.endPoint, value)
.then(res => {
commit('addExpenceHeadData',res.data);
})
.catch(error => {
console.log("Add Bank Failed");
});
},
deleteExpenceHeadData:({state,commit},value)=>{
//commit('deleteExpenceHeadData',value);
ApiService.delete(state.endPoint, state.expenceHeadData[value].id)
.then(res => {
commit('deleteExpenceHeadData',value);
});
}
}
}
component.vue // на котором я вызываю массив
computed:{
stockData(){
return this.$store.state.stockDetail.stockData
},
expenceHeadData(){
return this.$store.state.expenceHeadDetail.expenceHeadData
},
}
methods:{
getHeadId()
{
console.log("outside of loop",this.expenceHeadData)
//console.log("lo g");
for(var i=0;i<=this.expenceHeadData.length;i++)
{
if(this.expenceHeadData[i].name==this.item.name)
{
console.log(this.expenceHeadData[i].name)
break;
}
//console.log(this.expenceHeadData.name)
}
}
}
expenceDetail.js
import ApiService from '../services/ApiService';
export default {
state:{
selectedIndex: -1,
expenceData:[],
endPoint:'expence'
},
mutations:{
updateSelectIndex:(state,sindex)=>{
state.selectedIndex=sindex;
},
loadHeads(state, value) {
state.expenceData = value;
},
updateExpenceData:(state,{index,value})=>{
state.expenceData.splice(index,1,value);
},
addExpenceData:(state,value)=>{
state.expenceData.push(value);
},
deleteExpenceData:(state,value)=>{
state.expenceData.splice(value,1);
}
},
actions:{
updateSelectIndex:({state,commit},sindex)=>{
commit('updateSelectIndex',sindex);
},
updateExpenceLoad({state,commit}) {
ApiService.getAll(state.endPoint)
.then(res => {
commit('loadHeads', res.data);
});
},
updateExpenceData:({state,commit},{index,value})=>{
//commit('updateExpenceHeadData',{index,value});
//console.log(index)
ApiService.update(state.endPoint, value)
.then(res => {
commit('updateExpenceData',{index,value:res.data});
})
.catch(error=>{
console.log("Update Bank Failed");
});
},
addExpenceData:({state,commit},value)=>{
console.log("ye wali",value);
//commit('addExpenceHeadData',value);
ApiService.save(state.endPoint, value)
.then(res => {
commit('addExpenceData',res.data);
})
.catch(error => {
console.log("Add Bank Failed");
});
},
deleteExpenceData:({state,commit},value)=>{
//commit('deleteExpenceHeadData',value);
ApiService.delete(state.endPoint, state.expenceData[value].id)
.then(res => {
commit('deleteExpenceData',value);
});
}
}
}
я ожидаю вывод этого массива expenceHeadData[]
но это дает мне expenceData[]