Programing

vuex 커밋이 저장되지 않음

c10106 2022. 5. 9. 21:34
반응형

vuex 커밋이 저장되지 않음

나는 가게 일을 하는 데 어려움을 겪고 있다.

나는 행동을 통해 돌연변이를 부르고 있는데, 그것은 효과가 있는 것 같다.

export const location = {
  state: {
    x: 0,
    y: 0,
    z: 0,
    extent: [],
    epsg: 'EPSG:3857'
  },
  mutations: {
    setLocation(state, payload) {
      // mutate state
      console.log("Commit");
      state.x = payload.x;
      state.y = payload.y;
      console.dir(state); //this does return the mutated state.
    }
  },
  actions: {
    setLocation(context, payload) {
      console.dir(payload);
      context.commit('setLocation', payload);
    }
  },
  getters: {
    mapLocation(state) {
      return state
    }
  }
}

작업이 내 구성 요소로 가져오기:

methods: {
     ...mapActions(['setLocation']),

그리고 나서 다음과 같이 불렀다.

var location = {
      x: data[0],
      y: data[1]
    }
    this.setLocation(location);

이 모든 것이 효과가 있는 것처럼 보이지만, Vue Developer Tools를 체크해 보면 Vuex Base 상태는 변하지 않고 나는 활성 돌연변이(setLocation)가 있다.'Commit All'을 클릭하여 작동하는 돌연변이를 커밋할 수 있다.

내 구성 요소에서 모두 커밋을 클릭하면 나타나는 getter mapLocation의 watcher를 사용하고 있다.

어떻게 해야 가게로 강제할 수 있을까?

고마워요.

그래, 이건 사실 아주 간단한 문제였어.

나는 내가 보고 있는 계산된 속성에 대해 DOM의 어떤 것도 모델링하지 않았으므로, 그것은 업데이트되지 않았다.

따라서 해결책은 단순히 v-model="mapLocation"을 사용하여 시계의 화재 발생을 보장하는 것이다.

참조URL: https://stackoverflow.com/questions/42294030/vuex-commit-does-not-commit-to-store

반응형