5

AngularJSには、それらをサポートする外部データリソースを呼び出すときに、LimitおよびOffsetリクエストメソッドがありますか?

これよりも洗練されたソリューションがあると思います。ここでは、routeParamsを介して制限とオフセットを通過しています。

function ListCtrl($scope, $http, $routeParams) {
$http.jsonp('http://www.example.com/api/list.jsonp?callback=JSON_CALLBACK&limit=' + $routeParams.limit + '&offset=' + $routeParams.offset,{callback: 'JSON_CALLBACK'}).success(function(data) {
$scope.list = data;
  });
}
4

3 に答える 3

1

あなたの質問を理解しているかどうかわかりませんが、$http メソッドにconfigはオブジェクトであるパラメーターがあり、その 1 つのプロパティは「params」オブジェクトです。

params
?key1=value1&key2=value2 – {Object.} – URL の後に変換される文字列またはオブジェクトのマップ。値が文字列でない場合は、JSON 化されます。

「制限」と「オフセット」の値が $routParams にある場合、それを取得するのに最適な場所のようです。ただし、サーバーとやり取りするコードを Angular サービスにラップすることを検討することをお勧めします。このサービスは、現在の制限値とオフセット値を格納できます。サービスをコントローラーに挿入して、サービスが提供する機能 (および/またはデータ) にアクセスできます。

于 2013-01-05T23:02:47.360 に答える
1

AngularJs はクライアント側です。これらのパラメーターをサポートする必要があるのは、外部データ リソースのプロバイダーです。

問題の可能な解決策は、$resource (またはparams オプション マークが言及)である可能性があります。

var UserAccounts = $resource('/useraccounts/:userId/limit/:limit/offset:offset', {userId:'@id'});
var accounts = User.get({userId:123, limit:10, offset:10}, function() {
});

もちろん、サーバー側ではパラメーターを別の方法で読み取る必要があります。

于 2013-01-05T22:19:57.963 に答える