1

オブジェクトの配列を含むファクトリがあります。各オブジェクトには、次のような従業員に関する情報が含まれています。

データファクトリー:

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 が表示されます。

名前を表示させるにはどうすればよいですか?

4

1 に答える 1