1

注: 次のコードとデモは、より大きな Meteor + Angular プロジェクトから抽出されたものです。


オブジェクトを選択して削除する次の機能があります。

デモ: http://plnkr.co/edit/Qi8nIPEd2aeXOzmVR6By?p=preview

  $scope.selectParty = function(party) {
    $scope.party = party;
    $scope.type = party.type;
    $scope.date = party.date;
  }

  $scope.deletParty = function(party) {
    $scope.parties.remove(party);
  }

  $scope.selectOrganizer = function(organizer) {
    $scope.organizer = organizer;
    $scope.name = organizer.name;
    $scope.title = organizer.title;
  }

  $scope.deletOrganizer = function(organizer) {
    $scope.party.organizers.remove(organizer);
  }

選択アクションは、デモでわかるように、パーティとオーガナイザーの両方で機能し、下のテーブルにデータが表示されます。

削除アクションは機能しません。ただし、私のマシン上にあり、現在 Meteor で作業している私のアプリでは、Delete アクションがパーティに対して見事に機能することを指摘しておきます。つまり、構文 " $scope.parties.remove(party)" が機能します。しかし、何らかの理由でplnkrデモでは機能しません:(

私の質問は、実際にはオーガナイザーの削除アクションに関するものでorganizer、選択したオブジェクト ( ) 内の配列内のオブジェクト ( ) をターゲットにしていますpartyが、これは機能しません。なぜ、そして正しい構文は何なのか疑問に思っています。

注 2: Angular のことは知っていますが、単に Angular 配列を操作するのspliceindexはなく、Meteor のデータベース データを操作するため、ここでは使用できません。

ありがとう!

4

1 に答える 1

1

オーガナイザーはパーティー オブジェクトの一部であり、それ自体がコレクションではありません。そのため、オブジェクトからパーティーを削除してから、パーティー オブジェクトを保存する必要があります。

注 2 は正しくありません。あなたの質問とプランカーが間違っていない限り。

于 2015-08-12T16:09:28.227 に答える