我需要使用angularjs从firebase中删除一个条目。问题是,如果我使用索引,那么它会删除firebase中的所有条目,如果我使用key方法则不执行任何操作。这是控制器的代码。它应该从其中一个部分的firebase中获取密钥。
$scope.deleteContact = function(key){
ContactList.destroy(key);
deleteAlert.show();
};
contactFactory.factory('ContactList', function($firebaseObject,$firebaseArray){
var contact = new Firebase("https://mycontactmanager.firebaseio.com/");
这是从firebase删除条目的功能
destroy: function(key){
contact.remove(key);
}
这是部分代码
<td>{{contactItem.name}}</td>
<td>{{contactItem.email}}</td>
<td>{{contactItem.phone}}</td>
<td><a href="#/contact/{{key}}" class="btn btn-success btn-xs">View Contact</a>
<button class="btn btn-danger btn-xs col-sm-offset-1" ng-click="deleteContact(key)\">Delete</button>
</td>
</tr>
</tbody>
答案 0 :(得分:3)
删除不会将密钥作为参数。
您需要通过调用.child(key)
进行嵌套,然后调用remove。
ref.child(key).remove();
答案 1 :(得分:1)
你也可以使用名为$ remove的firebase方法,如下所示:
ref.child(键)$删除();
有关删除的文档位于此处:https://www.firebase.com/docs/web/libraries/angular/guide/synchronized-objects.html
答案 2 :(得分:1)
由于您的ref是firebase数据库的根目录,因此您需要找到一个子项并删除该子项,如下所示
ref.child(key).$remove().then(function() {
// Code after remove
});
请参阅此处https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebaseobject-remove