AngularFire / Firebase - 如何删除超过一级深度的密钥?
AngularFire / Firebase - How Do You Delete Key That is More Than One Level Deep?
我有一个像这样初始化的同步对象:
var sync = $firebase(ref);
var syncObject = sync.$asObject();
syncObject.$bindTo($scope, 'data');
同步对象具有以下结构:
{
levelone: {
leveltwo: {
valueone: 1
valuetwo: 2
}
}
}
我想使用 $remove()
删除其中一个值,但我无法使用此方法删除整个对象以外的任何内容。
以下将删除整个对象:
syncObject.$remove('levelone.leveltwo.valueone');
我不想使用 $save()
覆盖整个同步对象。
是否可以删除带有 $remove()
的嵌套键?
无法通过$remove()
函数钻取多层。我最终使用普通的 Firebase JS 库方法进行删除。
var ref = new Firebase(myFirebaseURL);
// The child() method (from the vanilla JS library) allows you to target keys
// more than one level deep
ref.child('levelone/leveltwo/valueone').remove();
var sync = $firebase(ref);
您可以将 child()
函数链接到原始 JS Firebase class 对象,然后将 运行 remove()
方法链接到该对象(注意这是remove()
方法而不是 $remove()
方法)。
我有一个像这样初始化的同步对象:
var sync = $firebase(ref);
var syncObject = sync.$asObject();
syncObject.$bindTo($scope, 'data');
同步对象具有以下结构:
{
levelone: {
leveltwo: {
valueone: 1
valuetwo: 2
}
}
}
我想使用 $remove()
删除其中一个值,但我无法使用此方法删除整个对象以外的任何内容。
以下将删除整个对象:
syncObject.$remove('levelone.leveltwo.valueone');
我不想使用 $save()
覆盖整个同步对象。
是否可以删除带有 $remove()
的嵌套键?
无法通过$remove()
函数钻取多层。我最终使用普通的 Firebase JS 库方法进行删除。
var ref = new Firebase(myFirebaseURL);
// The child() method (from the vanilla JS library) allows you to target keys
// more than one level deep
ref.child('levelone/leveltwo/valueone').remove();
var sync = $firebase(ref);
您可以将 child()
函数链接到原始 JS Firebase class 对象,然后将 运行 remove()
方法链接到该对象(注意这是remove()
方法而不是 $remove()
方法)。