admin管理员组文章数量:1391934
I'm building a simple web app with Vue + Firebase + Vuefire and I get "Uncaught TypeError: Cannot read property 'ref' of undefined" when I try to use my Firebase db variable inside a ponent.
In main.js
Vue.use(VueFire)
const firebaseApp = Firebase.initializeApp({ //setting })
// Export the database for ponents to use.
export const db = firebaseApp.database()
And in my ponent
// 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"
}
}
I followed the steps in this tutorial /
This code db.ref('recipes')
works if used inside main.js, but it never works once I import it inside my ponent.
I'm building a simple web app with Vue + Firebase + Vuefire and I get "Uncaught TypeError: Cannot read property 'ref' of undefined" when I try to use my Firebase db variable inside a ponent.
In main.js
Vue.use(VueFire)
const firebaseApp = Firebase.initializeApp({ //setting })
// Export the database for ponents to use.
export const db = firebaseApp.database()
And in my ponent
// 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"
}
}
I followed the steps in this tutorial https://alligator.io/vuejs/vuefire-firebase/
This code db.ref('recipes')
works if used inside main.js, but it never works once I import it inside my ponent.
-
The immediate difference I see between your code and the tutorial is that you're including the
.js
extension when importing. Perhaps you should try omitting that and instead useimport {db} from '../main'
. Granted, I've never used the importing or exporting, so I can't say whether or not this will remedy your problem. – B. Fleming Commented Nov 13, 2017 at 1:25 - Good observation. I never noticed it could work without the .js extension. I gave it a try, the path still works, but I have the same error. – Fabrunet Commented Nov 13, 2017 at 3:31
2 Answers
Reset to default 2The problem was my Firebase code (including db variable) was inside main.js
but it needed to be in it's own ponent. I created a firebase.js
file :
import Firebase from 'firebase'
const firebaseApp = Firebase.initializeApp({
# configuration
})
// Export the database for ponents to use.
export const db = firebaseApp.database()
Then in my ponent I simply imported my database variable :
import {db} from '../firebase'
Why didn't it work inside main.js
? I'm not sure, maybe someone more knowledgeable can answer that.
.ref
is a firebase function, you need to import it. try
import Firebase from 'firebase'
or
import * from 'firebase'
本文标签: javascriptCannot read property 39ref39 of undefinedStack Overflow
版权声明:本文标题:javascript - Cannot read property 'ref' of undefined - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1744699701a2620491.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论