est sous le code que j'utilise pour amener les joueurs sélectionnés de mon firebase databse à mon champ:
var orderedPlayers = databaseService.players.orderByChild("id");
$firebaseArray(orderedPlayers)
.$loaded(function(loadedPlayers) {
var normalizedPlayers = loadedPlayers.reduce(function(acc, next) { acc[next.id] = next; return acc; }, {});
var selectedPlayers = $scope.pick.map(function(num){
return normalizedPlayers[num];
});
$scope.players = selectedPlayers;
$scope.sum =function(items, prop){
return items.reduce (function(a, b) {
return a + b [prop];
}, 0);
};
$scope.totalPoints = $scope.sum($scope.players, 'goals');
}, function(err) {
console.log(err);
$scope.players = [];
});
Le problème est que lorsque je change le nombre de buts de la base de données firebase , il n'y a pas de changement en temps réel du nombre total de points. c'est-à-dire $scope.players = selectedPlayers;
mises à jour en temps réel, mais $scope.totalPoints only
mises à jour après l'actualisation de la page.
Est-il possible d'avoir cette dernière mise à jour en temps réel?
Montrez votre * html * Code de modèle. –
Montrez plus de code ou créez un violon pour reproduire votre problème. – lin
Est-ce l'extrait de code que vous avez posté, une partie d'une seule méthode, ou est-ce juste le codeblock complet pour $ onInit() par exemple? Si ce code ci-dessus est dans une méthode, et appelé de quelque part, il peut montrer pourquoi l'erreur se produit (par exemple, $ firebaseArray n'est appelé que lorsque la méthode est appelée). – rrd