当前位置:  开发笔记 > 编程语言 > 正文

推送到vuex商店阵列无法在VueJS中运行

如何解决《推送到vuex商店阵列无法在VueJS中运行》经验,为你挑选了1个好方法。



1> Saurabh..:

您正尝试从vue组件修改vuex状态,但您无法执行此操作.您只能从变异中修改vuex存储

您可以定义如下的突变:

var store = new Vuex.Store({
  state: {
    customers: [
      { id: '1', name: 'user 1',},
    ]
  },
  mutations: {
     addCustomer (state, customer) {
      // mutate state
      state.customers.push(customer)
    }
  }
})

现在您可以从vue实例提交此突变,如下所示:

mounted: function() {
      this.$http.get('http://localhost/facebook-login/api/get_customers.php')
      .then(response => {
        return response.data;
      })
      .then(data => {
        store.commit('addCustomer', { id: '2', name: 'User 2'})
      });
    }


@GijoVarghese [docs](https://vuex.vuejs.org/en/mutations.html)中的第一行说:"在Vuex商店中实际改变状态的唯一方法是提交变异."
@GijoVarghese当您在vue组件中直接修改有状态数据时,vuex的整个目的都会丢失...
它可能有效,但属于“未定义行为”类别。这是对框架的滥用,您可以期望一旦开发人员意识到可能存在漏洞,它就会立即停止工作,因为* correct *行为是抛出错误并尝试防止它发生。
推荐阅读
无名有名我无名_593
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有