javascript - 无法读取未定义的属性 'ref'

标签 javascript firebase vue.js vuejs2 vuefire

我正在使用 Vue + Firebase + Vuefire 构建一个简单的网络应用程序,当我尝试在其中使用我的 Firebase db 变量时,我得到了“Uncaught TypeError: Cannot read property 'ref' of undefined”一个组件。

在main.js中

Vue.use(VueFire)

const firebaseApp = Firebase.initializeApp({ //setting })

// Export the database for components to use.
export const db = firebaseApp.database()

在我的组件中

// in Recipes.vue
import {db} from '../main.js'

export default {
  recipe: {
    source: db.ref('recipes')
    // Console says: "Uncaught TypeError: Cannot read property 'ref' of undefined"
  }
}

我按照本教程中的步骤操作 https://alligator.io/vuejs/vuefire-firebase/

这段代码 db.ref('recipes') 如果在 main.js 中使用则可以工作,但是一旦我将它导入到我的组件中就永远不会工作。

最佳答案

问题是我的 Firebase 代码(包括 db 变量)在 main.js 中,但它需要在它自己的组件中。我创建了一个 firebase.js 文件:

import Firebase from 'firebase'

const firebaseApp = Firebase.initializeApp({
  # configuration
})

// Export the database for components to use.
export const db = firebaseApp.database()

然后在我的组件中我简单地导入了我的数据库变量:

import {db} from '../firebase'

为什么它在 main.js 中不起作用?我不确定,也许更有知识的人可以回答这个问题。

关于javascript - 无法读取未定义的属性 'ref',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47253938/

相关文章:

javascript - VueJS 和 vue-router : view data does not update when using v-link

Javascript,没有三元运算符的字符串连接

javascript - 如何让下拉菜单出现在对话框的顶部?

javascript 调试工具 :firebug, chrome javascript 控制面板, Visual Studio for javascript

javascript - 如何找到 Google 云端硬盘文件的整个父文件夹层次结构?

ios - 我的 firebase int 返回 nil

javascript - 使用 SendGrid 和 Firebase 的跨国电子邮件没有错误但没有电子邮件(使用 NodeMailer 作为答案)

angularjs - Firebase 身份验证暴露了 Firebase AuthToken,它安全吗?

vue.js - 在渲染之前隐藏 vue.js 模板

javascript - 如何在 Vue 中保存 props 数据?