我将用户详细信息绑定到Firebase中的某个部分,如下所示:
var userDetails = firebase.child('users').child(userID);
$firebaseObject(userDetails).$bindTo($scope, 'user');
我有一些HTML表单,它将数据绑定到用户的各个部分(例如ng-model=user.Name
)
我正在尝试弄清楚HTML项目何时更改,它显示的是一个div,其中显示“正在保存”,然后在Firebase更新完成后显示“已保存”的消息。
答案 0 :(得分:3)
这是$save method的救援。它呼吁进行模型更改,即ng-change
//html
<input type="text" ng-model="userObj.name" ng-change="userObj.$save(user)" />
//js
var userObj = $firebaseObject(ref);
userObj.$save().then(function(ref) {
$scope.notifyUserSaved()//here you do notification
}, function(error) {
console.log("Error:", error);
});
<强> UPD。使用rootScope:
//in controller
userObj.$save().then(function(ref) {
//$scope.notifyUserSaved()
//here you do notification
$rootScope.$broadcast("saving", {"foo":"bar"});
}, function(error) {
console.log("Error:", error);
});
//in other modules
$rootScope.$on("saving", function(){
//notify user globally here
})