来自路线 ID 的 Firebase 参考

Firebase Reference from Route ID

我正在尝试根据 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' 对象没有产生任何数据(没有出现错误)。当我对路径进行硬编码时(当前显示为注释掉),一切都按预期工作。我想这个问题与 id 属性 在创建 'anObject' 时没有值有关?如果可以,我可以更新生命周期挂钩中的引用吗?

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

  created () {
    this.$bindAsObject('anObject', db.ref('path/' + this.$route.params.id))
  },