AngularJS를 처음 사용하고 현재 실시간 앱으로 Google Firebase를 사용하고 있습니다. 내 팩토리 클래스 .getFriends()
방법에 내 $scope.friends
변수를 설정 내 컨트롤러에서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
}
: 나는 다음과 같은 코드를 실시간으로 내 중포 기지 데이터베이스를 확인하는 공장 "친구"를 만들었습니다. 이것은 잘 작동하고 내 페이지에는 모든 친구들이 올바르게 표시됩니다.
$scope.friends = friendsFactory.getFriends();
그러나 공장이 업데이트 되 자마자 이러한 변경 사항은 내 범위 변수 및 뷰에 반영되지 않습니다. $apply
, $watch
등을 사용해 보았습니다.하지만 공장이 출시되는 즉시 범위와 뷰를 업데이트 할 수있는 방법을 알 수 없습니다. 지금은 다른 페이지로 돌아갈 때마다 변경 사항 만 표시됩니다. 그들은 실시간으로 업데이트하지 않습니다. 누구든지이 일을 도와 줄 수 있습니까? 고마워요!
'friends' 배열을 어떻게 업데이트 할 수 있습니까? – taguenizy
'$ watch'는 완벽하게 작동합니다. 컨트롤러에서 시계를 어떻게 사용하고 있는지 보여줄 수 있습니까? – ThatBird