0

オブジェクトをプッシュできるデータを保持するサービス/ファクトリを使用して、Angular JS で非常にシンプルなアプリの開発を開始しました。

ファクトリにあるaddCandidate()関数を使用して候補者として追加できるさまざまな人々 (html を参照) の配列があります。

私の問題は、その配列の人/オブジェクトを、アクティブなルート/コントローラーに応じて、候補2と候補3など、複数の配列に格納できるようにしたいことです。

私は正しい方向に進んでいますか、それともまったく違う考え方をすべきですか?

工場とコントローラ:

var app = angular.module('myApp', []);

app.factory('Candidates', function (){

  var candidates = [];

  /* I want to fill this array with objects from myCtrl2 */
  var candidates2 = [];

  return{

    addCandidate: function(candidate){
      candidates.push(candidate);
    }

    /* More functions related to Candidates */

  }
});

app.controller('myCtrl1', function($scope, Candidates){

  $scope.addCandidate = function(candidate){
   Candidates.addCandidate(candidate);
  }

});

/* I want to push candidates to candidates2 here */

app.controller('myCtrl2', function($scope, Candidates){

  $scope.addCandidate = function(candidate2){
   Candidates.addCandidate(candidate2);
  }

});

/* More controllers of same kind */

HTML:

<ul>
    <li ng-repeat="person in people">
      <h2>{{ person.name }}</h2>
      <button ng-click="addCandidate(person)">Add candidate</button>
    </li>
</ul>
4

1 に答える 1