来自路线 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))
},
我正在尝试根据 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))
},