所以我安装了vuefire,我有
form_with
中的
main.js
现在我被困在如何全局注册firebase,以便在组件内部我可以简单地执行
var Vue = require('vue')
var VueFire = require('vuefire')
var firebase = require('firebase')
Vue.use(VueFire)
var firebaseApp = firebase.initializeApp({ ... })
var db = firebaseApp.database()
如何在main.js文件中全局注册firebase,以便在其他组件中我不需要始终初始化firebase配置和数据库
答案 0 :(得分:0)
我们还需要启动firebase连接。创建一个名为firebase.js
的新文件。
import Firebase from 'firebase'
const firebaseApp = Firebase.initializeApp({
// Populate your firebase configuration data here.
...
});
// Export the database for components to use.
// If you want to get fancy, use mixins or provide / inject to avoid redundant imports.
export const db = firebaseApp.database();
然后只使用另一个组件用户
<template>
<p v-for="user of users">
{{user.name}}
</p>
</template>
<script>
import {db} from './firebase';
export default {
data() {
return {
users: {}
}
},
firebase: {
users: {
source: db.ref('users'),
// Optional, allows you to handle any errors.
cancelCallback(err) {
console.error(err);
}
}
}
}
</script>
答案 1 :(得分:0)
我所做的如下。 1.在src / plugins / firebaseApp.js中制作一个插件
import * as firebase from "firebase/app"
const config = {
apiKey: "<your key>",
authDomain: "<your domain>",
databaseURL: "https://<your URL>.firebaseio.com",
projectId: "<your projectId>",
}
export default firebase.initializeApp(config)
2。在main.js
...
import firebaseApp from './plugins/firebaseApp'
...
new Vue({
...
firebaseApp,
...
render: h => h(App)
}).$mount('#app')