VuexFire突变

时间:2016-11-04 21:46:15

标签: vue.js vuex

对于使用过VuexFire Vuex v2的任何人。 mutations: VuexFire.mutations在这里指的是什么?答案可能很明显,但我不知道这意味着什么。那么我的实际突变在哪里呢?我现在正在使用Vuex v1,它似乎工作正常,但我想升级到使用Vuex v2。谢谢!

var store = new Vuex.Store({
  state: {
    items: null
  },
  mutations: VuexFire.mutations, // What is this and where is it coming from??
  getters: {
    items: function (state) { return state.items }
  }  
})

new Vue({
  el: '#app',
  store: store,
  computed: Vuex.mapGetters([
    'items'
  ]),
  firebase: {
    items: db.ref('items')
  }
})

1 个答案:

答案 0 :(得分:3)

我很久以来一直在努力解决这个问题。虽然我不能100%确定VuexFire.mutations的作用,但我现在明白VuexFire只负责获取您的Firebase数据库数据并使用该数据正确改变您的应用状态。

所以看起来这是一个神奇的代码,使本地商店的状态突变发生。

要让您的应用改变/更改Firebase数据库,您仍然需要获取Firebase数据库引用并自行设置/推送/或任何数据。

例如,使用您的代码进行说明,

firebase: {
    items: db.ref('items')
}

会让mutations: VuexFire.mutations'知道'改变您的应用状态的内容。但要改变您的Firebase数据库,您必须执行以下操作:

db.ref('items').push(WhateverNewData)

我希望这会有所帮助。