おそらく私は角度のあるファクトリを間違って使用していますが、オブジェクト指向の方法でコードを作成して、必要なものを作成しています。コントローラ間のオブジェクト。ファンクション間でファクトリオブジェクトを渡すAngularjs
工場は "シングルトン"なので、工場に各コントローラーを注入するのは当然です。しかし、自分のコードを表示すると、私の混乱はより明確になります。 services.js
.factory('Game', function() {
var Game = function (name, description) {
this.name = name;
this.description = description;
this.rating = 0;
this.rooms = [];
}
return Game;
})
で
だからここで私は "ゲーム" オブジェクトのコンストラクタを定義します。
そして、私は2つのテストゲームは
.controller('CreateCtrl', function ($scope, Game) {
var game1 = new Game("Test Adventure!", "An amazing adventure to do some cool things and such!");
var game2 = new Game("Test Adventure 2!", "An amazing adventure to do some cool things and such!");
$scope.games = [game1, game2];
})
私はコントローラに「ゲーム」の工場を注入し、「新しい」キーワードを持つ2つの「ゲーム」オブジェクトを定義するオブジェクトを作成、私のcontrollers.js、インチ2つの質問が出てきます。1)複数のオブジェクトを作成することができたら、工場はどのようにシングルトンですか?そして2)ゲーム1とゲーム2の両方を別のコントローラーに渡すにはどうすればいいですか?
多分私はangularjsのオブジェクト指向プログラミングと混同されていて、私のゲームオブジェクトを間違って作成しています。
助けてください!
編集:私は単純な解決策は、データオブジェクトを保持するために$ rootScopeを使用することだと思うが、これは標準的なやり方ではないと思いますか?開発者はrootScopeの使用を避けるよう促しているようです。
これは感覚のトンになります。私はそれを私の頭の周りに包み込もうとしていましたが、何らかの理由で工場がデータ管理者であるという関係を作っていませんでした!私はオブジェクトを作成することができますJava/C + +の背景から来る混乱は、コンテキストに意味をなさない! – awbasham