Vuex mapMutations无法正常工作

时间:2019-08-20 12:16:22

标签: vue.js vuex

我有一个带名称空间的存储区(namespaced:true),并且我试图通过mapMutations访问它。当我通过mapMutations调用它时,会导致“不是函数”错误。当我直接通过this。$ store调用它时,它可以正常工作。为什么mapMutations版本不起作用?伪代码如下所示。 FWIW我正在使用最新的Vue / Vuex版本。

import { mapGetters, mapMutations } from 'vuex'

computed: {
  ...mapGetters('someModule', ['foo']),
  ...mapMutations('someModule', ['bar']),
}
mounted() {
   this.$store.commit('someModule/bar'); // This works
   this.bar(); // This gives me a "this.bar() is not a function" error
   this.baz();
}
methods: {
  baz() {
   this.bar(); // This gives me a "this.bar() is not a function" error
  },
}

1 个答案:

答案 0 :(得分:1)

突变/操作为tf.estimator.train_and_evaluate,位于function

methods

应该在...mapMutations('someModule', ['bar']),

之内
methods

有关methods: { ...mapMutations('someModule', ['bar']), executeBar() { this.bar() } } methods之间的更多信息和比较,请参见此Method vs Computed in Vue