Ich bin neu bei AngularJS und verwende derzeit Google Firebase für meine Echtzeit-App. Ich habe eine Fabrik „Friends“ erstellt, die mit dem folgenden Code meiner Firebase-Datenbank in Echtzeit überprüft:Aktualisierung der Scope-Variablen bei Factory-Updates in AngularJS
angular.module('App')
.factory('friendsFactory', function(){
var friends = [];
var friendshipRef = firebase.database().ref('friendships');
friendshipRef.on('value', function(snapshot){
//etc.. updates friends array
});
return{
getFriends: function(){
return friends;
},
//etc
}
In meinem Controller ich meinen $scope.friends
Variable zu meiner Fabrik Klasse .getFriends()
Methode festgelegt. Das funktioniert gut und meine Seite zeigt alle Freunde korrekt an.
Sobald meine Factory aktualisiert wird, spiegeln diese Änderungen jedoch nicht meine Scope-Variable und Ansicht wider. Ich habe versucht, $apply
, $watch
usw. zu verwenden, aber ich kann nicht herausfinden, wie ich sicherstellen kann, dass mein Bereich und Ansicht aktualisiert werden, sobald die Fabrik ist. Jedes Mal, wenn ich zu einer anderen Seite und zurück navigiere, werden die Änderungen angezeigt. Sie werden nicht in Echtzeit aktualisiert. Kann mir jemand helfen, das zu erreichen? Danke vielmals!
Können Sie zeigen, wie Sie das 'friends' Array aktualisieren? – taguenizy
'$ Uhr' sollte perfekt funktionieren. Können Sie zeigen, wie Sie die Uhr in Ihrem Controller verwenden? – ThatBird