我正在使用Firebase和angular进行测验。在测验的最后,我想使用以下代码将新属性保存到users对象:
function saveTopscore() { var ref = new Firebase(CONSTANTS.FIREBASE_URL + 'users/' + User.user.$id + '/'); var userObject = $firebaseObject(ref); userObject.topscore = User.totalCorrect; userObject.$save().then(function(ref) { console.log("worked"); }, function(error) { console.log(error); }); }
它可以工作,但也可以覆盖用户对象的所有属性。因此,该对象曾经像名称,用户名,电子邮件,密码等一样保存,但是当我按下topscore时,它成为该对象的唯一属性。为什么?
你为什么在这里使用$firebaseObject?仅在将其三向绑定到Angular视图时才有用。如果您使用的是常规JavaScript代码,则只需坚持使用Firebase的常规JavaScript SDK。
$firebaseObject
在这种情况下,请执行以下操作:
ref.update({ topscore: User.totalCorrect });