angular-UI select2を使用して私が抱えている問題を説明するための架空の例。「ゲーム」モデルを編集したい画面があるとしましょう。ゲームには、とりわけプレイヤーがいます。select2ドロップダウンメニューからプレーヤーを設定できるようにしたい。コードの例を次に示します: app.js
$scope.getGamePromise().then(function(results) {
$scope.game = results;
console.log(game.players); //prints [{name:'Joe',age: 15},{name:'Sally',age:16}]
});
$scope.players = [
{
name: 'Joe',
age: 15
},
{
name: 'Fred',
age: 14
},
{
name: 'Sally',
age: 16
},
{
name: 'Lucy',
age: 13
}
]
view.html
<select ngModel="game.players" ui-select2 multiple>
<option ng-repeat="player in players" value="player">{{ player.name }}</option>
</select>
この「ゲーム」オブジェクトを保存したいときは、ゲーム オブジェクトをサーバーに送信します。サーバーは、game.players がオブジェクトの配列であることを期待しています。ただし、送信されるのは文字列です。私はangularにある程度精通しており、select2はまったく初めてです。select2 で game.players を文字列ではなくオブジェクトの配列として設定するにはどうすればよいですか?