【发布时间】:2016-10-18 22:15:40
【问题描述】:
我是 AngularJS 的新手,目前在我的实时应用程序中使用 Google Firebase。我创建了一个工厂“Friends”,它使用以下代码实时检查我的 Firebase 数据库:
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 变量设置为我的工厂类.getFriends() 方法。这很好用,我的页面正确显示所有朋友。
$scope.friends = friendsFactory.getFriends();
但是,一旦我的工厂更新,这些更改不会反映在我的范围变量和视图上。我尝试过使用$apply、$watch 等,但我不知道如何确保我的范围和视图在出厂后立即更新。现在,每次我导航到不同的页面并返回时,才会显示更改。它们不会实时更新。谁能帮我完成这个?非常感谢!
【问题讨论】:
-
您能说明如何更新
friends数组吗? -
$watch应该可以完美运行。你能展示你是如何在你的控制器中使用手表的吗?
标签: javascript angularjs ionic-framework firebase firebase-realtime-database