0

私はまだ Angular を学習中で、$resources 全体のデータへのアクセスと使用に問題があります。2 つのデータ セット (賭け金とユーザー) を使用した 2 つの API 呼び出しがあります。

url:/users/me は、現在のユーザー名と ID をオブジェクトとして返します

/wagers は、すべての賭け金を配列として返します。賭けには userA と呼ばれる 1 つのフィールドがあり、wagers?userA=(現在のユーザー ID) は、userA=現在のユーザー ID を持つすべての賭けを返します。

(現在のユーザー ID) を取得して現在のユーザー ID を動的に取得するのに問題があります。私のコードは以下の通りです:

//services
.factory('User', function($resource, $cookies){
    return $resource('users/me', {}, {
        query: {method:'GET', params:{}, isArray:false}
    })
})
.factory('Wager', function($resource, User){
    return $resource('wagers/', {}, {
        query: {method:'GET', params:{}, isArray:true}
    })
})

//controller
function WagerListCtrl($scope, $cookies, User, Wager){
    $scope.users = User.query
    $scope.wagers = Wager.query({"userA":user.id})
}
4

1 に答える 1

3

まず、次のように括弧を付けてクエリを呼び出す必要があります。User.query()

次に、$resource は promise のみを提供するため、コントローラーの実行が完了するまで $scope.users を使用できない可能性が高くなります。成功のコールバック内で Wager を呼び出す必要があります。

User.query({}, function(data) {
  $scope.user = data;
  // assuming user has an id field
  $scope.wagers = Wager.query({"userA":$scope.user.id});
});
于 2013-06-27T16:56:12.513 に答える