2015-10-29 51 views
0

因此,我調用從Firebase中提取數據並將數據推送到對象數組中的函數。然而,由於某種原因,我有兩件事,一切都翻倍了,就好像檢索函數被調用了兩次!Firebase多次檢索項目(所有內容都加倍)

下面是它的外觀:

link to image

代碼:

cApp.controller('HomeCtrl', function($scope, $ionicModal, $rootScope) { 

$scope.allMeals = []; 


    // getting meals from database 
    $scope.getMeals = function() { 
    $scope.allMeals = []; 

     var mealsRef = new Firebase("https://<my app id here>.firebaseio.com/Meals"); 

    mealsRef.on("child_added", function(snapshot) { 
    var newPost = snapshot.val(); 
    console.log("Name: " + newPost.name); 
    console.log("Price: " + newPost.price); 

     $scope.allMeals.push({ 
     name: newPost.name, 
     price: newPost.price 
     }) 
    }); 

}; 


// calling get meals function 
$scope.getMeals(); 

這是開始讓我頭疼!

+0

我已經看到這種情況發生,當你在多個位置定義你的應用程序或控制器。請檢查以確保您未在​​html中的多個位置定義「ng-controller ='HomeCtrl'」,或者如果您使用的是RouteProvider,請確保您未在​​多個位置定義控制器。 – Kyle

+0

@凱爾謝謝你。即使我沒有調用它(我不知道爲什麼),該函數仍在執行,因此當我調用第二次運行的函數時。 –

+0

有趣的是,如果你從控制器中刪除$ scope.getMeals(),它仍然運行該函數? – Kyle

回答

0

即使我沒有調用它(我不知道爲什麼),函數仍在執行,所以當我調用第二次運行的函數時。

相關問題