programing

VueJ: 여러 컴포넌트의 Vuex getter가 작동하지 않는 것을 감시한다.

copyandpastes 2022. 7. 20. 22:25
반응형

VueJ: 여러 컴포넌트의 Vuex getter가 작동하지 않는 것을 감시한다.

Vuex 상태processState아래에 getter가 있는

export const getters = {
  getProcessState: state => {
    return state.processState;
}

저는 이 getter를 아래와 같이 두 가지 다른 컴포넌트로 보고 있습니다.

<script>
import { mapGetters } from "vuex";

 export default {
   computed: {
     ...mapGetters("process/processStore", ["getProcessState"])
   },
   watch: {
     getProcessState(newVal, oldVal) {
       //different logic for each component.
     }
   }
};
</script>

자, 이제processState변화들,getProcessState(newVal, oldVal)1개의 컴포넌트만 호출됩니다.호출된 컴포넌트에서 워치를 코멘트 아웃하면 다른 워치가 동작하기 시작합니다.그래서 한 때 오직 한 사람만이 일을 하고 있다.뭐 그런 거라도 있어?Vuex또는watch내가 없어서 이 문제가 생긴 건가요?

고마워요.

업데이트 시청을 시도했습니다.getter하지만 호출되지도 않습니다.

getters가 스칼라를 반환하지 않는 경우(즉, 오브젝트 {} 또는 어레이 []를 반환하는 경우) 다음과 같이 감시해야 합니다.

watch: {
  getProcessState: {
    deep: true,
    handler: function(newVal, oldVa) {
     // Your logic
    }
  }
}

를 직접 사용해 보세요.getter맵핑 없이

    watch: {
        '$store.getters.getProcessState': function (value) {
            // your logic
        }
    }

언급URL : https://stackoverflow.com/questions/60998328/vuejs-watching-vuex-getter-in-multiple-components-not-working

반응형