2013-06-03 49 views
1

如何在使用此指示時添加加載指示?帶加載指示燈的Firebase

new Firebase('url/data').on('child_change',function() { 
    // do somthing here, which may take x time per operation 
}) 
+1

我不認爲有任何方法可以通過Firebase獲得「數據已更改,實際更改正在進行中」的通知。它不斷將更改推送到客戶端,所以實際更新通常很小。通知可能需要比實際數據更長的時間才能到達。 –

回答

6

如何:負載指示添加到DOM事先,然後使用value事件來隱藏它當位置完成加載,像(jQuery的爲了簡潔):

var $load = $('<div class="loading">Loading...</div>').appendTo('body') 
    , db = new Firebase('url/data') 

db.on('value', function() { 
    $load.hide() 
}) 

當數據發生變化時,value會再次觸發,因此請確保事件類似於「刪除此類」,而不是「切換此類」。

閱讀有關不同事件:Firebase docs

+0

這實際上是我們推薦的方法。 –

+1

我認爲這種方法的問題是,如果你的查詢沒有產生任何結果,回調函數將不會被調用,你將永遠'加載' –

+0

@AParacha你有辦法避免這個問題嗎? – xiaofan2406