我无法将我的Vuejs应用程序连接到Firebase

时间:2017-09-27 19:53:38

标签: javascript firebase firebase-realtime-database vue.js vuejs2

我一直试图这样做一段时间,它正在找到我。阅读教程,每个人都做不同的事情,所以没有运气。

我正在尝试将我的Vue应用程序连接到Firebase后端。

我有一个名为Staff.vue的组件,它有一个脚本:

<script>
import firebase from 'firebase'

export default {
  name: 'staff-list',

  data () {
    return {
      firebase.database().ref('employees').on('value').then((data) => {
        office.push(data);
      }).catch(
        (error) => {
          console.log(error);
        }
      ),
      // This will pull in the data from Firebase.
      office: []
    }
  }
}
</script>

我收到了错误:

Module build failed: SyntaxError: Unexpected token, expected , (30:14)

  28 |   data () {
  29 |     return {
> 30 |       firebase.database().ref('employees').on('value').then((data) => {
     |               ^
  31 |         office.push(data);
  32 |       }).catch(
  33 |         (error) => {

我还在Main.js文件中初始化了firebase:

const config = {
  apiKey: "foo",
  authDomain: "bar",
  databaseURL: "foobar",
  projectId: "barfoo",
  storageBucket: "foobarfoo",
  messagingSenderId: "blarg"
};

firebase.initializeApp(config);

我不知道为什么它不起作用。请告诉我有人有这个问题,并且能够找出为什么这样做有帮助。

提前致谢:)

1 个答案:

答案 0 :(得分:1)

您错误地尝试在返回的对象定义中执行代码。

data方法对象中拉出该firebase调用,并在created生命周期钩子中调用它(通过office引用this.office数组):

data() {
  return {
    office: []
  }
},
created() {
  firebase.database().ref('employees').on('value').then((data) => {
    this.office.push(data);
  }).catch((error) => {
    console.log(error);
  });
}