0
因此,我調用從Firebase中提取數據並將數據推送到對象數組中的函數。然而,由於某種原因,我有兩件事,一切都翻倍了,就好像檢索函數被調用了兩次!Firebase多次檢索項目(所有內容都加倍)
下面是它的外觀:
代碼:
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();
這是開始讓我頭疼!
我已經看到這種情況發生,當你在多個位置定義你的應用程序或控制器。請檢查以確保您未在html中的多個位置定義「ng-controller ='HomeCtrl'」,或者如果您使用的是RouteProvider,請確保您未在多個位置定義控制器。 – Kyle
@凱爾謝謝你。即使我沒有調用它(我不知道爲什麼),該函數仍在執行,因此當我調用第二次運行的函數時。 –
有趣的是,如果你從控制器中刪除$ scope.getMeals(),它仍然運行該函數? – Kyle