【发布时间】:2020-10-16 05:21:58
【问题描述】:
我正在尝试使用 Vuex,但无法理解为什么我的数据不是预期值。
我要做的是将getter的结果传递给突变提交,如下所示
// TEST PRINT: return value of getter
console.log(this.$store.getters.reservationsCurrentWeek);
switch (this.activeCalendar) {
case 'week':
// Commit with getter result
this.$store.commit('setShownReservations', this.$store.getters.reservationsCurrentWeek);
break;
第一次打印显示了预期的结果。 但是,当我打印出在突变内部实际传递的值时,如下所示:
// TEST PRINT: return value of getter
console.log(this.getters.reservationsCurrentWeek);
// TEST PRINT: parameter passed to the mutation.
console.log(value);
state.shownReservations = value;
参数值不是getter返回的值(而是一些旧值)。当我直接在我的突变中访问 getter 时,它也会给出正确的值。我不明白为什么我不能将 getter 的结果作为参数传递给突变提交,以及为什么它会产生不可靠的值?
【问题讨论】:
标签: vue.js vuex store getter mutation