Angular - 如何从Firebase DB中删除数据

时间:2017-12-06 20:03:38

标签: javascript angular firebase firebase-realtime-database

我正在尝试从我的firebase数据库中删除特定值。 我想从firebase删除此条目:

enter image description here

到目前为止我尝试过的是关于如何触发删除按钮的按钮:

 <div class="single-bfunctions" 
 *ngFor='let bfunc of liste'>
<b> Name: </b>{{bfunc.Name}} <br>
<b> Beschreibung: </b>  {{bfunc.Descr}}<br>
<b> Key: </b>   {{bfunc.$key}}
<button type="button"  ng-click="deleteSth(bfunc.name)">Delete Item </button>
</div>

...和我的删除方法:

deleteSth(name){
  firebase.database().ref('/BFunctions/').child(name).remove();
} 

因为我对Angular也很陌生,所以我的解决方案并不是真的。 我很感激你的答案!

2 个答案:

答案 0 :(得分:1)

尝试使用ref对象

    <div class="single-bfunctions" 
*ngFor='let bfunc of liste'>
<b> Name: </b>{{bfunc.Name}} <br>
<b> Beschreibung: </b>  {{bfunc.Descr}}<br>
<b> Key: </b>   {{bfunc.$key}}
<button type="button"  ng-click="deleteSth(bfunc.$key)">Delete Item 
</button>
</div>

deleteSth(key){
    firebase.database().ref('/BFunctions/' + key).remove();
} 

如果这不起作用,请检查您的控制台,它可能与权限或其他内容有关

答案 1 :(得分:1)

你的按钮初始化应该是这样的,因为你的bfunc.Key没有定义。如您所见,您的bfunc.Name是您数据库中的密钥。如果是这样的话,您可以按照以下方式编写代码:

<button type="button"  ng-click="deleteSth(bfunc.$key=bfunc.Name)">Delete Item 

而不仅仅是:

deleteSth(key){
    firebase.database().ref().child('/BFunctions/'+key+'/').remove();
}

:)