web-dev-qa-db-ja.com

Vuexモジュールの突然変異

動作しないvuexモジュールを呼び出す必要があります。ドキュメントを見ましたが、それでも機能しません。誰かが私を助けてくれることを願っています。

_const stateLocations ={

    state: {

        provinces: {},
        cities: {}
    },
    mutations: {
        provinces(state, payload){

            state.provinces = payload
        }
    }
}


const store = new Vuex.Store({

    modules: {
        locations: stateLocations
    }


})
_

ミューテーションを呼び出すための私のコード

_created(){

            var store = this.$store

            axios.get('api/provinces')
                .then( function(response){

                    store.state.locations.commit('provinces', response.data)
                })
                .catch()
        }
_

これは機能しませんstore.state.locations.commit('provinces', response.data) TY

8
Rbex

モジュールでnamespacedを有効にしなかったので、単に

this.$store.commit('provinces', response.data)

名前空間を有効にする場合:

const stateLocations = {
  namespaced: true,
  state: {
    ...

次に、次のように突然変異をコミットします。

this.$store.commit('locations/provinces', response.data)
32
CodinCat