オブジェクトの配列を含むファクトリがあります。各オブジェクトには、次のような従業員に関する情報が含まれています。
データファクトリー:
app.factory('DataFactory', function(){
return [
{
'name': 'John Smith',
'shifts':[ //this might need to be {}
{'start':new Date(2014, 06, 25, 1, 30),
'end': new Date(2014, 06, 25, 22, 30)
},
{'start':'/*somedate*/',
'end': '/*someDate*/'
}
]
}
];
});
そして、アプリを使用している人が選択したユーザーに基づいて、CurrentUser というファクトリに値を設定しようとしています。
現在のユーザー:
app.factory('CurrentUser', ['DataFactory', function(DataFactory){
var service = {};
service.indexVal;
service.user = DataFactory[service.indexVal];
return service;
}]);
HTML :
<select ng-model="CurrentUser.indexVal">
<option ng-repeat="employee in DataFactory" value="{{$index}}">
{{employee.name}}
</option>
</select>
Current User: {{CurrentUser.user.name}}<br />
ただし、これでは名前の値はありません。名前を選択しても「john smith」は表示されません。
ユーザーのオブジェクト全体を表示するのではなく、CurrentUser.user のままにしておくと、indexVal が表示されます。
名前を表示させるにはどうすればよいですか?