鍍金池/ 問答/HTML/ .vue組件 如何想store里面?zhèn)髦担?/span>

.vue組件 如何想store里面?zhèn)髦担?/h1>

.vue

export default {
    data(){
        return{
            // useID:api.hdCookie.getCookie('userID')
        }
    },
    computed:{
        proList(){
            return this.$store.getters.getPageList
        },
        useID(){
            return api.hdCookie.getCookie('userID')
        },
        page(){
            return 1
        },
        num(){
            return 8
        }
    },
    mounted(){
        this.$store.dispatch('fetchPageList');
        console.log(this.$store);
    },
    methods:{

    }
}

store

import Vue from 'vue'

const state = {
  pageList: [],
  pageIndex: undefined,
  pageNum: 10
}
const getters = {
  getPageList: state => state.pageList,
  getPageIndex: state => state.pageIndex,
  getPageNum: state => state.pageNum
}
const actions = {
  fetchPageList({ commit, state }) {
    Vue.http.get('https://xxx?userId=' + useID + '&pageIndex=' + page + '&pageNum=' + '10')
      .then((res) => {
        commit('changePageList', JSON.parse(res.data.content).projectList)
      }, (err) => {

      })
  }
}
const mutations = {
  changePageList(state, payload) {
    state.pageList = payload
  },
  updateParams(state, { key, val }) {
    state.params[key] = val
  }
}

export default {
  state,
  getters,
  actions,
  mutations
}

如上,.vue組件需要向store里面?zhèn)髦?,需要把useID,page,num傳進來,動態(tài)修改http url的參數值?

回答
編輯回答
放開她

直接設置通過mutation,若需要異步獲取用action

2017年4月20日 21:27
編輯回答
抱緊我
this.$store.dispatch('incrementAsync', {
  useID: 10,
  page: 1
})


const actions = {
  fetchPageList({ commit, state }, data) {
  let {useID, page} = data
    Vue.http.get('https://xxx?userId=' + useID + '&pageIndex=' + page + '&pageNum=' + '10')
      .then((res) => {
        commit('changePageList', JSON.parse(res.data.content).projectList)
      }, (err) => {

      })
  }
}
2018年7月9日 09:50
編輯回答
孤島
this.$store.dispatch('fetchPageList',{key1:v1,key2:v2});
2017年3月20日 07:40