尝试将vuexfire用于Firebase绑定,文档状态为插入以下操作以进行绑定
const setTodosRef = firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref }) => {
// bunding will automatically unbind any previously bound ref so you
// don't need to unbind before binding over an existing bound key
bindFirebaseRef('todos', ref)
// it is possible to unbind a bound key at any time
unbindFirebaseRef('todos')
})
在我的商店root.js中,所有操作均以以下模式编写
/**
* Import Dependency
*/
import * as types from './mutation_types'
import i18n from '@/locales'
import * as firebase from 'firebase'
import { firebaseMutations, firebaseAction } from 'vuexfire'
setTodosRef ( ) {
bindFirebaseRef('todos', ref)
unbindFirebaseRef('todos')
}
如何将参数传递给函数? 为了打电话
this.$store.dispatch('setTodosRef', db.ref('todos'))
setTodosRef (firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, { ref })) { ... }
不起作用...
Syntax Error: Unexpected token, expected "," (119:29)
感谢您的反馈
更新
我使用
删除了语法错误 setTodosRef: firebaseAction(({ bindFirebaseRef, unbindFirebaseRef }, ref) => {
bindFirebaseRef('todos', ref)
unbindFirebaseRef('todos')
})
但是我不确定这是正确的吗??
答案 0 :(得分:0)
您的商店操作将接受两个参数。第一个是vuex传递的上下文对象,通常会取消引用。我没有您所有的代码,因此无法为您编写确切的方法,但是它必须是这样的(假设es6):
/usr/local/include/SDL
然后您将拥有一个可以处理提交的突变。它还从vuex接收注入的参数作为第一个参数,然后在第二个参数中提供数据,例如:
setTodosRef({ commit }, todos) {
commit(types.SET_TODOS, { todos })
}