簡體   English   中英

使用Firebase實時數據庫和VueFire的Vue.js應用程序突然停止工作

[英]Vue.js app with Firebase realtime database and VueFire suddenly stopped working

我沒有改變我的代碼,但上周VueFire停止加載任何數據。 我已經嘗試恢復到舊版本的Vue和VueFire但我似乎找不到導致問題的原因。

目前我的代碼幾乎與此處提供的文檔相同: https//vuefire.vuejs.org/vuefire/#why

    // Vue.js
    let config = {
        apiKey: "<?php echo getenv('FB_API_KEY'); ?>",
        authDomain: "<?php echo getenv('FB_AUTH_DOMAIN'); ?>",
        databaseURL: "<?php echo getenv('FB_DB_URL'); ?>",
        projectId: "esportsgametrainers",
        storageBucket: "<?php echo getenv('FB_STORAGE_BUCKET'); ?>",
        messagingSenderId: "<?php echo getenv('FB_MSG_SENDER_ID'); ?>"
    };

    let app = firebase.initializeApp(config);
    let db = app.database();

    // Open Session Ref.
    let openSessionsRef = db.ref('openSessions');

    let vm = new Vue({
        el: '#open_training_sessions',
        data: () => ({ openSessions: [] }),
        firebase: {
            openSessions: openSessionsRef
        },
        computed: {
            latestOpenSessions: function () {
                console.log('??', this.openSessions);
                //return this.openSessions;
                return this.openSessions.filter(function (session) {
                    console.log(session);
                    return session;
                    // Only unaccepted games
                    if (!session.accepted) {
                        // Date filter
                        let currentTime = new Date().getTime();
                        let sessionCreated = new Date(session.CreatedDate).getTime();
                        if (sessionCreated < currentTime) {
                            let offset = currentTime - sessionCreated;
                            if (offset / 3600000 < 3) {
                                return session;
                            }
                        } else {
                            return session;
                        }
                    }
                });
            }
        }
    });

添加行: data: () => ({ openSessions: [] }),應用程序不再拋出錯誤,但是數組的內容始終為空,而我加載的Firebase數據庫有很多條目。

發生這種情況真的很令人沮喪。 正如我所說,我沒有改變代碼,它工作了幾個月,現在卻沒有。

有誰知道為什么會這樣?

我終於發現了這個問題的根源以及如何修復。

一些混亂是由於這樣一個事實造成的,因為我的應用程序仍處於早期開發狀態,它實際上是從CDN加載Vuefire而不是從本地依賴項加載。

最近Vuefire開發者已經從1.x變為2.x作為他們的官方穩定版本。 也就是說,似乎在2.x(現在是穩定通道)和3.x(下一個預發布候選版本)版本中,主要焦點轉移到Cloudstore,現在實時數據庫實現存在重大問題。

在將Vuefire降級到版本1.4.5(最新的1.x版本)后,我的所有原始源代碼再次按預期工作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM