javascript - 我如何使用 VueFire 将 prop 作为 firebase 路径的一部分?

标签 javascript firebase-realtime-database vuejs2 vue-component vuefire

我在 firebase 中有一个称为膳食的对象列表。 在此组件中,我只想显示一顿饭的信息,因此我传递一个 id 字段作为 Prop ,并且我只想从 firebase 获取那顿饭。

这是我尝试过的。它不起作用,因为 this.id 未定义:

import db from '@/firebase'

export default {
    name: 'meal',
    props: {
        id: {
            type: String,
            required: true
        }
    },
    firebase: {
        meals: db.ref('meals').child(this.id)
    }
}

我是否做错了什么,或者 firebase 调用是否在 props 初始化之前发生?


编辑:

我设法使用创建的钩子(Hook)来做到这一点,但它看起来很糟糕。还有其他办法吗?

created() {
        this.$bindAsObject('meal', db.ref('meals').child(this.id))
    }

最佳答案

这个把我烧得很厉害。您必须使用 firebase 函数并创建对变量的引用,如下所示:

import db from '@/firebase'

export default {
    name: 'meal',
    props: {
        id: {
            type: String,
            required: true
        }
    },
    firebase() {
        const id = this.$props.id // Pass the reference instead of the prop directly
        return {
          meals: db.ref('meals').child(id)
        }
    }
}

关于javascript - 我如何使用 VueFire 将 prop 作为 firebase 路径的一部分?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46259685/

相关文章:

javascript - Firebase 登录 Facebook/Google - UID

javascript - 如何在Vue中关闭一页之前存储数据

html - 全局覆盖 Vuetify 分隔线颜色

javascript - Snap.js移动面板插件添加 `destroy`方法

javascript - 如何确定设置为 null 的变量的类型?

javascript - 如何定位模块以像 Pinterest 一样显示?

javascript - Cloud Function 中的 Firestore 更新出错

android - Firebase身份验证和数据库链接

javascript - 如何在 Vuejs 2 中导入组件

javascript - 如何检查 jquery 数据表中的每个复选框?