0

我有一个添加功能可以将电影添加到 firebase 数据库

methods: {
            add() {
                this.$firebaseRefs.movies.push({
                    name: this.newItem.name,
                    price: this.newItem.genre,
                    rating: this.newItem.rating,
                    reviews: this.newItem.reviews,
                    cast: this.newItem.cast,

                });
                this.newItem.name = '';
                this.newItem.genre = '';
                this.newItem.rating = '';
                this.newItem.reviews= '';
                this.newItem.cast= '';
                this.$router.push('/dashboard')
            }
        }
    }

但是我收到一个错误Unresolved variable $firebaseRefs ,当我尝试将路由更改添加到 http://localhost:8080/add时?

我已经进口了

import { db } from '../db';

数据库.js

import * as firebase from "firebase";
import store from "./store";
let config={
    apiKey: "AIzaSyDQ2dXBMuIJ2EBYeVqucJpOF33C0tsFlLk",
    authDomain: "tv-show-tracker-9899e.firebaseapp.com",
    databaseURL: "https://tv-show-tracker-9899e.firebaseio.com",
    projectId: "tv-show-tracker-9899e",
    storageBucket: "tv-show-tracker-9899e.appspot.com",
    messagingSenderId: "433917891798",
    appId: "1:433917891798:web:bb35a74ae42e6db339a577"
};
let app = firebase.initializeApp(config);
export const db = app.database();

// eslint-disable-next-line no-unused-vars
let firebaseRefs = db.ref('movies');

firebase.auth().onAuthStateChanged(user => {
    store.dispatch("fetchUser", user);
});

下面是 main.js 文件

main.js

import Vue from 'vue'
import App from './App.vue'
import router from "./routes/route.js";

import store from "./store";



Vue.config.productionTip = false;




new Vue({
  router,
  store,
  render: h => h(App),
}).$mount('#app')
4

1 回答 1

0

如 vuefire文档中所述,您需要将 Vuefire 作为 Vue 插件安装。因此,由于您使用实时数据库,因此您需要main.js按如下方式调整文件

import Vue from 'vue'
import App from './App.vue'
import router from "./routes/route.js";
import store from "./store";
import { rtdbPlugin } from 'vuefire'

Vue.use(rtdbPlugin)
Vue.config.productionTip = false;

new Vue({
  router,
  store,
  render: h => h(App),
}).$mount('#app')

不要忘记按如下方式安装最新版本的 Vuefire(参见 doc):

npm install vuefire
于 2020-01-12T20:30:53.257 回答