使用 Vue.set() 操作 store 中的数据报错

在一个购物车列表中,购物车数据来自于 store, 我通过 vm.$set() 给数组每一项添加一个新的属性 isChecked 来关联每一项的选中状态。


computed: {

      cartBooks: function() {

        var carts = this.$store.getters.getCartBookList;

        if (carts.length > 0) {

          carts.forEach((item, index, array) => {

            this.$set(item, 'isChecked', true);

          });

        } else {

            this.isCheckedAll = false;

        }

        return carts;

      }

    }

但是却报错:


"Error: [vuex] Do not mutate vuex store state outside mutation handlers."

请问是否因为 store 中的数据只能通过 mutations 方法来修改,但我在 mutation 之外又通过 vm.$set() 来修改了 store 中的数据才出现这种错误呢?


这种错误要如何处理呢?


冉冉说
浏览 1187回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript