【问题标题】:Angular - How to delete data from Firebase DBAngular - 如何从 Firebase DB 中删除数据
【发布时间】:2017-12-07 18:33:20
【问题描述】:

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

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

 <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 也很陌生,所以我真的不知道解决方案是什么。 感谢您的回答!

【问题讨论】:

    标签: javascript angular firebase firebase-realtime-database


    【解决方案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();
    }
    

    :)

    【讨论】:

    • 哦,非常感谢你是天才,我整天都坐在这个问题面前
    【解决方案2】:

    尝试使用 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();
    } 
    

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

    【讨论】:

    • 我应该如何添加$key?像这样? firebase.database().ref('/BFunctions/'+$key).remove();
    • 更改为ng-click="deleteSth(bfunc.$key)并将此行更改为firebase.database().ref('/BFunctions/' + name).remove();
    • 嗯,没用。不知何故,删除按钮无法识别密钥,因为我正在尝试记录 console.log(key); 之类的密钥并且我正在进入控制台 undefined 你知道出了什么问题吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 2021-01-29
    • 1970-01-01
    • 2017-06-30
    • 1970-01-01
    相关资源
    最近更新 更多