[VueJS:观看多个组件中的Vuex吸气剂不起作用

问题描述 投票:0回答:2

我的Vuex状态processState低于getter

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

我正在用两个不同的组件观看此吸气剂,如下所示

<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)。如果我在调用手表的组件中注释掉手表,则另一个手表开始工作。因此,一次只能工作一次。我缺少Vuexwatch引起此问题的信息吗?

谢谢

更新我尝试在第三部分中观看getter。但也不会被调用。

vue.js vuejs2 vuex nuxt.js
2个回答
0
投票

尝试直接使用getter而不进行映射

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

0
投票

如果您的吸气剂没有返回标量(即,如果它返回的是对象{}或数组[],则必须像这样观看它:

watch: {
  getProcessState: {
    deep: true,
    handler: function(newVal, oldVa) {
     // Your logic
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.