2014-02-17 11 views
0

說我有如何通過AngularFire自動綁定優化數據檢索和控制器間數據共享?

  1. 列表視圖+控制器顯示的項目名稱的列表,並
  2. 詳圖+控制器這就是示出了詳細的一個項目。

我該如何使用angularfire(最好是使用自動三向綁定)以不同次獲取相同數據的方式?

由於控制器#1將已經獲取的項目及其細節(itemsListRef).$bind($scope, 'items');語句執行的時候。在控制器#2,(itemDetailRef,).$bind($scope, 'itemDetail')會再取一遍已經被控制在1號取項目的詳細數據。

想到一個選項:角度服務可以用來獲取項目數據一次,然後在控制器之間共享數據,但我不確定angularfire三向自動綁定將如何發揮作用,或者如果它甚至會工作。你的想法/建議?任何其他選項?推薦的方法是什麼?

回答

1

的火力地堡客戶是足夠聰明,如果它存在使用本地緩存。火力的實例是每個基火力URL單身,在相同火力變化的路徑,以便安裝多個聽衆將導致不必要的網絡活動。

我建議創建在服務一個$firebase引用,然後使用該項目的在控制器的詳細情況的3路數據綁定。例如:

var myapp = angular.module("myapp", ["firebase"]); 

myapp.factory("ItemService", ["$firebase", function($firebase) { 
    return $firebase(itemsListRef); 
}]); 

myapp.controller("DetailCtrl", ["$scope", "ItemService", function($scope, items) { 
    items.$child(itemId).$bind($scope, 'itemDetail'); 
}]); 
相關問題