我想要做的只是替换用户下我的凭据路径上的用户名,但是当我运行以下代码时,它会删除凭据路径(对象)上的所有其他数据,即使我明确地只是重写了一个属性。如何更新AngularFire中的对象,我知道我可以在没有使用.set
的AngularFire的情况下执行此操作,但我想返回一个承诺。这是我的代码:
editCredentials: function(uid, credItem, newData){
var ref = new Firebase('https://myapp.firebaseio.com/users/' + uid + '/credentials/');
var editCred = $firebaseObject(ref);
editCred[credItem] = newData;
editCred.$save(ref)
.then(function(data){
console.log(data)
})
.catch(function(error){
console.log(error)
})
}
答案 0 :(得分:-1)
AngularFire构建于Firebase JavaScript SDK之上。这意味着您不会 将AngularFire用于使用常规JavaScript SDK更容易的操作。
在这种情况下:
editCredentials: function(uid, credItem, newData){
var ref = new Firebase('https://myapp.firebaseio.com/users/' + uid + '/credentials/');
ref.update({ 'credItem': newData });
}