1

我想在一個視圖上用一個控制器使用兩個不同的$ firebaseArrays。但只有其中一個有效,另一個只有當我把他放在他自己的控制器中時纔有效。

從我廠文件:

.factory("AlphaFactory", ["$firebaseArray", 
    function($firebaseArray) { 
    var ref = firebase.database().ref('alpha/'); 
    return $firebaseArray(ref); 
    } 
]) 

.factory("BetaFactory", ["$firebaseArray", 
    function($firebaseArray) { 
    var ref = firebase.database().ref('beta/'); 
    return $firebaseArray(ref); 
    } 
]) 

和我的控制器:

.controller('DemoCtrl', function($scope, AlphaFactory, BetaFactory) { 
    $scope.alphaJobs = AlphaFactory; 
    $scope.addalphaJob = function() { 
    $scope.alphaJobs.$add({ 
     Testentry: $scope.loremipsum, 
     timestamp: Date() 
    }); 

    $scope.alphaJob = ""; 
    }; 

    $scope.betaJobs = BetaFactory; 
    $scope.addbetaJob = function() { 
    $scope.betaJobs.$add({ 
     Testentry2: $scope.dolorest, 
     timestamp: Date() 
    }); 

    $scope.betaJob = ""; 
    }; 
)} 

回答

1

你確定這是不是一個承諾一個簡單的事情還沒有完成?

var alphaJobs = AlphaFactory; 
alphaJobs.$loaded().then(function() { 
    // Do something with data if needed 

    $scope.alphaJobs = alphaJobs; 
}); 

var betaJobs = BetaFactory; 
betaJobs.$loaded().then(function() { 
    // Do something with data if needed 

    $scope.betaJobs = betaJobs; 
}); 
+0

感謝您的建議,但仍然沒有運氣。我發現它連接到firebase(選擇字段被填充),但仍然無法保存到firebase。順便說一句,我通過控制檯得到這個警告:[鏈接] https://www.chromestatus.com/features/57188​​03933560832 – Oliver

+0

鏈接已損壞。 Chrome瀏覽器的狀態不過是針對您的代碼的,而不是與Firebase的鏈接或兩個工廠的處理。這兩個工廠然後取決於你在做什麼。由於這些內容已被添加到$範圍中,因此,如果您的引用有效,則來自頁面的任何更改都應反映在數據庫中。 –

相關問題