0

次のようなデータ サービスがあります。

myApp.factory('locationsData', function ($resource) {


return $resource('/api/Location/:id', { id: '@id' }, { update: { method: 'PUT' } });});

次に、これらの場所を使用して、ビューにドロップダウンを設定します。

<select ng-model="locationId" ng-options="item.LocationId as item.LocationName for item  in locations"></select>

コントローラーのドロップダウンの初期値を次のように設定したい:

$scope.locationId = 8;

これは機能しません。$resource の非同期の性質のためだと思います。まだリストがないため、設定できません。

$q がこれに対処するように設計されていることは知っていますが、プロミスを作成して設定する方法がわかりません

$scope.locationId = 8;

満たされたら

私は $q と $resource のドキュメントを読みましたが、私が行っているように簡単な get を実行し、get promise が満たされた後に関数/アクションを実行する方法の良いコード サンプルをまだ見ていません。

ありがとう。

4

1 に答える 1

0

私はあなたがやっているコントローラーのどこかを信じています

$scope.locations=locationsData.query();

query または get メソッドは、success 関数と error 関数の引数を取ることができます。何かのようなもの

locationsData.query(function(data){
});

だからあなたは設定する必要があります

$scope.locationId = 8;

クエリの成功関数内。

于 2013-06-23T14:03:31.880 に答える