作者:mobiledu2502875545 | 来源:互联网 | 2023-05-28 10:19
我正在使用AngularFire和Firebase,我想获得我刚刚通过该$add()
方法添加的元素的键.有一种记录的方法可以使用"vanilla"Firebase执行此操作,请参阅此处的 "获取由push()生成的唯一ID" .但是,它似乎与AngularFire不相同$id
.
var ref = $firebase(firebaseData.ref()).$asArray();
var newItem = ref.$add({fruit: "apple", color: "red"});
var itemId = newItem.$id;
// Do stuff with itemID...
newItem
已使用新密钥(例如-Jf-06c0QX_vMMNL3Aek
)成功添加到Firebase ,但itemId
返回undefined.
有没有办法做到这一点?
1> Frank van Pu..:
来自$ add的AngularFire文档:
var list = $firebase(ref).$asArray();
list.$add({ foo: "bar" }).then(function(ref) {
var id = ref.key();
console.log("added record with id " + id);
list.$indexFor(id); // returns location in the array
});
如果您使用的是较早版本的AngularFire,则可能仍会调用该方法,name
因此您需要var id = ref.name();
.