我有一个带名称空间的存储区(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
},
}
答案 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