Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angularjs/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angularjs 如何使用angular删除firebase中的json数据对象?_Angularjs_Firebase - Fatal编程技术网

Angularjs 如何使用angular删除firebase中的json数据对象?

Angularjs 如何使用angular删除firebase中的json数据对象?,angularjs,firebase,Angularjs,Firebase,我开发了简单的angular firebase应用程序,提供基本的CRUD功能 firebase中的json格式 { "-J0wuZ_J8P1EO5g4Xfw6" : { "contact" : "56231545", "company" : "info", "city" : "limbdi", "name" : "priya" }, "-J0wrhrtgFvIdyMcSL0x" : { "contact" : "65325422",

我开发了简单的angular firebase应用程序,提供基本的CRUD功能

firebase中的json格式

{
  "-J0wuZ_J8P1EO5g4Xfw6" : {
    "contact" : "56231545",
    "company" : "info",
    "city" : "limbdi",
    "name" : "priya"
  },
  "-J0wrhrtgFvIdyMcSL0x" : {
    "contact" : "65325422",
    "company" : "rilance",
    "city" : "jamnagar",
    "name" : "pihu"
  }
}
用于在html页面中列出所有数据的代码

<table class='table table-hover'>
    <tr>
        <th>Name</th>
        <th>City</th>
        <th>Company</th>
        <th>Contact</th>
        <th></th>
    </tr>

    <tr ng-repeat="item in employee">
        <td>{{item.name}}</td>
        <td>{{item.city}}</td>
        <td>{{item.company}}</td>
        <td>{{item.contact}}</td>
        <td><button class='btn btn-warning btn-mini' ng-click='delemp(employee[$index])'>X</button></td>
    </tr>
</table>
此警报框包含当前员工的姓名。我想删除员工的当前行。但是我不知道如何使用firebase的
remove()
方法。我已经访问了firebase的文档,所以我得到了下面的代码,它工作得很好

var current = new Firebase('https://myurl/employee/-J48go0dwY5M3jAC34Op');
        current.onDisconnect().remove();
但是我想动态地创建它,那么如何获得当前节点的父id,比如
-J48go0dwY5M3jAC34Op


请帮我解决这个小问题

不需要传递对象,只需将id传递到delete函数中即可

<li ng-repeat="(key,item) in list">
  <button ng-click="deleteItem(key)">delete</button> {{item.name}} 
</li>

$scope.deleteItem = function(id){
  var itemRef = new Firebase(url + '/' + id);
  itemRef.remove();
}
  • 删除{{item.name}
  • $scope.deleteItem=函数(id){ var itemRef=新Firebase(url+'/'+id); itemRef.remove(); }
    编辑: 这同样有效

    <div ng-repeat="item in list">
        <button ng-click="writeID(item)">log id</button>{{item.$id}} {{item}}<hr>
    </div>
    
    $scope.writeID = function(o){
      console.log(o.$id);
    }
    
    
    日志id{{item.$id}{{item}}
    $scope.writeID=函数(o){ 控制台日志(o.$id); }
    如果是firebaseArray,您也可以这样做:

    $scope.deleteItem = function(item){
     employee.$remove(item);
    }
    
    只需传递要从对象中移除的项

    注意:它不适用于firebaseObjects

    有用的资料来源:


    hii。我尝试了你的代码,但它不起作用,因为id表示类似(0,1,2,3)的项的索引,但在我的例子中,我需要在url之后传递-j48go0dwy5m3jac34这个字符串,然后只有我才能删除特定的json对象。那么,你能告诉我如何获取这个字符串吗?我添加了第二个直接获取id的示例。试一试。谢谢,亲爱的,它起作用了……)你能给我推荐一个学习angular firebase的好教程吗?遗憾的是,没有。我一直在尝试错误的方法。现在我看到了我给出的最上面的示例是使用angularFire()的,下面的示例是使用angularFireCollection()。在angularFireCollection的情况下,list.remove(item)也起作用。无论如何,o.$id工作得非常完美。它还帮助我更新json对象。可以给我你的twitter或gplus id吗?
    $scope.deleteItem = function(item){
     employee.$remove(item);
    }