1

对于使用过 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')
  }
})
4

1 回答 1

3

我自己为此挣扎了很长时间。虽然我不能 100% 确定它的VuexFire.mutations作用,但我现在明白 VuexFire 只负责获取您的 Firebase 数据库数据并使用该数据正确地改变您的应用程序状态。

因此,这似乎是使本地商店的状态突变发生的神奇代码。

为了让您的应用程序变异/更改 Firebase 数据库,您仍然必须获取 Firebase 数据库引用并自己设置/推送/或任何数据。

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

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

会让mutations: VuexFire.mutations“知道”什么来改变你的应用程序状态。但是要改变您的 Firebase 数据库,您必须执行以下操作:

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

我希望这有帮助。

于 2017-04-04T15:32:03.503 回答