問題本身很簡單:對於Firebase應用程序,如何獲取之前在登錄後被阻止並且不再被阻止的數據?在登錄後檢索以前阻止的數據
至於導致我問這個問題的細節:
在這個特定的應用程序,我用一個簡單的佈局與根樹,用戶和數據的2個主要子樹。數據樹是完全可讀的,任何人都可以隨時閱讀。用戶樹幾乎相反,唯一的例外是如果您登錄,那麼您可以閱讀僅屬於您的特定子樹。這導致了一個問題,即當您訪問該頁面時,可能對您非常重要的這些數據會在您登錄之前被阻止,並且無法直接檢索。但是,登錄後,您現在有權獲取該信息,但因爲之前被阻止,似乎無法解壓縮它。
我搜索了文檔,發現只有一個觸發器可能是有用的,onAuth(),但即使我可以在登錄後運行的東西,我實際上得不到任何數據。到目前爲止,我得到的最好的Firebase參考資料是針對我需要的特定子樹,但我無法找到任何實際使用該參考獲取快照的方式,因爲它是在頁面加載之後。看來我唯一的選擇是在登錄後刷新頁面並在頁面加載時檢查登錄,但這是一個非常大的開銷。有沒有其他的方法可以讓你在登錄之後沒有權限的樹中獲取數據,並且有權讀取它?可能在文檔中有一些我找不到或者不明白的文檔引用,它允許我要求不通過只能在pageload上定義的觸發器的基本引用的新快照?
如果您的頁面想要加載需要認證的數據,則應在認證發生後(即在'onAuth()')中附加您的監聽器。如果您在製作該工作時遇到問題,如果您分享[顯示問題的代碼段](http://stackoverflow.com/help/mcve),將會更容易提供幫助。 –
@FrankvanPuffelen感謝您的推薦,我終於搞定了。我編寫了代碼,按照你所描述的工作,然後繼續調試,直到找到主要問題。所以可以接受的答案只是你的第一句話。讓它成爲答案,我會接受它。隨意包含這樣的想法,即如果它不工作,它可能是一個特定的邏輯或語法錯誤,或者甚至可能是一個非常短暫的基本代碼段。否則,我會在稍後的時間。 – Ryan