Javascript ES6如何将const函数转换为函数

时间:2018-06-25 16:14:21

标签: firebase vue.js vuexfire

尝试将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')
  })

但是我不确定这是正确的吗??

1 个答案:

答案 0 :(得分:0)

您的商店操作将接受两个参数。第一个是vuex传递的上下文对象,通常会取消引用。我没有您所有的代码,因此无法为您编写确切的方法,但是它必须是这样的(假设es6):

/usr/local/include/SDL

然后您将拥有一个可以处理提交的突变。它还从vuex接收注入的参数作为第一个参数,然后在第二个参数中提供数据,例如:

setTodosRef({ commit }, todos) {
  commit(types.SET_TODOS, { todos })
} 

https://vuex.vuejs.org/guide/actions.html