4

基本的な CRUD 機能を提供するシンプルな angular-firebase アプリケーションを開発しました。

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>

誰かがボタンをクリックすると、従業員の現在のインデックスを引数として受け取る deemp 関数が起動されます。

var myapp = angular.module('myapp',['firebase']);
myapp.controller('MyCtrl', ['$scope', 'angularFireCollection',
  function MyCtrl($scope, angularFireCollection) {

       $scope.delemp=function($current_emp){
          alert($current_emp.name);
    };
  }
]);

この警告ボックスには、現在の従業員の名前が含まれています。従業員の現在の行を削除したい。remove()しかし、firebaseのメソッドの使い方がわかりません。私はfirebaseのドキュメントにアクセスしたので、うまく機能している次のコードを取得しました。

var current = new Firebase('https://myurl/employee/-J48go0dwY5M3jAC34Op');
        current.onDisconnect().remove();

しかし、動的に作成したいので、現在のノードの親IDを取得するにはどうすればよい-J48go0dwY5M3jAC34Op ですか?

小さな問題を解決するのを手伝ってください。

4

2 に答える 2

1

firebaseArray の場合は、次の方法でも実行できます。

$scope.deleteItem = function(item){
 employee.$remove(item);
}

オブジェクトから削除したいアイテムを渡すだけです。

注: firebaseObjects では機能しません。

有用な情報源:

https://www.firebase.com/docs/web/libraries/angular/api.html#angularfire-firebasearray-removerecordorindex

https://gist.github.com/anantn/4325082

于 2016-03-23T14:34:47.027 に答える