如何在Firebase / AngularFire中绑定对象时显示保存/已保存的消息

时间:2015-05-09 23:03:50

标签: angularjs firebase angularfire

我将用户详细信息绑定到Firebase中的某个部分,如下所示:

var userDetails = firebase.child('users').child(userID);
$firebaseObject(userDetails).$bindTo($scope, 'user');

我有一些HTML表单,它将数据绑定到用户的各个部分(例如ng-model=user.Name

我正在尝试弄清楚HTML项目何时更改,它显示的是一个div,其中显示“正在保存”,然后在Firebase更新完成后显示“已保存”的消息。

1 个答案:

答案 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
})