IT이야기

vuejs 2 매개 변수가 사용될 때 vuex에서 저장소 값을 감시하는 방법

cyworld 2022. 6. 25. 20:56
반응형

vuejs 2 매개 변수가 사용될 때 vuex에서 저장소 값을 감시하는 방법

파라미터를 사용할 때 스토어 값의 변화를 감시하려면 어떻게 해야 합니까?보통 getter를 통해 이 작업을 수행하지만 getter가 파라미터를 받아들이기 때문에 이 시나리오 또는 스택 Q/A에 대한 문서를 찾을 수 없기 때문에 까다롭습니다.

(데모를 위해 코드는 최소화됩니다)My store.js :

import Vue from 'vue';
import Vuex from 'vuex';

Vue.use(Vuex);

let report = {
    results: [],
};
export const store = new Vuex.Store({
    state: {   
        broken: Object.assign({}, report),    
    },
     results: (state) => (scan) => {
            return state[scan].results
        },
});

vue 컴포넌트vue:

computed: {
        ...mapGetters([ 
         'results',
        ]),

    watch: {
        results(){ // How to pass the param ??
            // my callback
        }

기본적으로 제 시계가 작동할 수 있도록 매개 변수를 건네주는 방법을 알고 싶습니다.

제 생각에는 당신의 질문에 대한 직접적인 해결책은 없습니다.
처음에는 watch 기능의 경우 newValue와 oldValue의 두 가지 파라미터만 허용되므로 스캔 파라미터를 전달할 방법이 없습니다.
또한 결과 속성은 계산된 함수만 반환하면 함수가 트리거되지 않습니다.

getters를 nested 함수에서 simple 함수로 변경하는 것이 좋습니다.

그러나 이 방법을 사용하려면 브리지 계산 속성을 생성해야 합니다.

computed: {
  ...mapGetters([
    'results',
  ]),
  scan() {

  },

  mutatedResults() {
    return this.results(this.scan);
  },

  watch: {
   mutatedResults() {

   }
  }

}

언급URL : https://stackoverflow.com/questions/52016623/vuejs-2-how-to-watch-store-values-from-vuex-when-params-are-used

반응형