此功能在页面加载时触发一次,但之后再也不会触发。我已经尝试过$ watch,$ apply和firebase的ref.on('value',但是没有骰子。模型会更改scope.job.getApplicants()的值,但scope.applicants_不会刷新这发生了。
function go() {
var p = [];
// scope.job.getApplicants() returns a $firebaseArray of user IDs
scope.job.getApplicants().$loaded().then(function(list) {
list.forEach(function(app) {
// User_(app.$id) returns a $firebaseObject
var user = User_(app.$id);
p.push(user);
})
});
return p;
}
scope.applicants_ = go();
答案 0 :(得分:2)
这就是我解决问题的方法:
ref.on('value', function(apps) {
var applicantIDs = Object.keys(apps.val());
scope.applicants_ = applicantIDs.map(function(app) {
return User_(app);
});
});