2017-08-09 52 views
1

我目前正在Angular 4的幫助下開發一個Ionic應用程序。我也有AngularFire2和Firebase作爲我的後端。當用戶在我的應用中下線時,我希望他們能夠檢索他們從Firebase中查詢的最新數據。現在,我有兩種方法來解決這個問題。一種方法是在檢索數據時使用{preservesnapshot: true}選項,然後使用forEach遍歷列表的項目並將它們存儲到本地存儲中。但是,在我的模板中,我使用異步管道顯示列表項(這使得處理起來更容易)。通過這種方式,我正在考慮爲列表中的每個項目分配一個特定的ID,然後將每個id:d列表項的innerHtml屬性存儲到存儲中。哪一個在這裏最有效率?許多在線人士都認爲應該避免preserveSnapshot並將firebaselist-數據存儲到數組中,所以我很好奇哪些是最有效或最好的方法。從FirebaselistObservable存儲數據或使用InnerHtml?

+0

您是否需要與Firebase一起使用離線用例? – Sampath

+0

@Sampath我不需要在離線時推送數據或更改任何內容,不需要。我所需要的就是能夠將數據顯示給用戶,即使他們不在線(如果他們以前連接過)。您可以將其視爲博客信息,但我不希望數據消失,因爲用戶重新啓動應用程序。 – user7722867

+0

好的,那麼你可以緩存數據並在脫機使用情況下使用否?我已經用離子緩存API實現了這樣的事情。你需要知道嗎? – Sampath

回答

0

您可以嘗試如下所示。希望您知道如何處理storage模塊。

this.myList = af.database.list('/myList/', { 
    query: {}, preserveSnapshot:true 
    }); 

this.myList.subscribe(snapshot => { 
     snapshot.forEach(snapshot => { 
      this.myArray.push(snapshot); //your array here 
     }); 
    }); 
相關問題