计算属性给我错误的数据,该数据属于Vuex中另一个存储模块

时间:2019-04-16 11:33:11

标签: vuex store

我是vuex的初学者。我正在尝试通过计算方法属性从我的一个名为expenceHeadDetail.js的商店模块中检索一个名为expenceHeadData[]的数组,但是它向我展示了另一个名为expenceDetail.js的模块名为expenceData[]的数组。 我添加了与我的问题有关的三个文件的代码。 谢谢

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[]

0 个答案:

没有答案