1

我正在尝试根据 URL 的 id 动态设置 firebase 引用。我正在使用 Vue 和 VueFire。这是我的代码:

<template>
  <v-container>
    <h4>name: {{anObject.name}}</h4>
  </v-container>
</template>

<script>
  import Vue from 'vue'
  import db from '@/js/firebase.js'

  export default {
    props: ['id'],
    firebase: {
      anObject: {
        source: db.ref(this.getPath),
        //source: db.ref('path/id'),
        asObject: true,
        cancelCallback: function () {console.log("Cancel")},
        readyCallback: function () {console.log("Ready")}
     },
   computed: {
     getPath () {
       return 'path/' + this.id
     }
   }
 </script>

目前,“anObject”对象不产生任何数据(不引发错误)。当我对路径进行硬编码(当前显示已注释掉)时,一切都按预期工作。我猜这个问题与在创建“anObject”时没有值的 id 属性有关?如果是这样,我可以更新生命周期挂钩中的引用吗?

4

1 回答 1

2

好的,我在这里找到了答案。基本上我需要等待创建的钩子然后定义引用(注意不要在其他任何地方定义它!)。

  created () {
    this.$bindAsObject('anObject', db.ref('path/' + this.$route.params.id))
  },
于 2017-08-07T15:06:20.913 回答