私は無限のスクロールを実装しています。私は$http.get()
メソッドからデータを取得する配列hotels
を持っています。新しいarray
という名前のhotelsNew[]
に値hotels
の値を設定したいとします。しかし、私はhotelsNew
の値を増やしてm
とj
の値を押したいと思います。関数が呼び出されるたびに、配列内の要素をどのようにプッシュできますか?
loadMore()
が呼び出されるたびに、m
とj
の値を更新(増分)する必要があります。 m
の初期値は0で、j
は5です。loadMore()
が呼び出されると、m
は5になり、j
は10となります。
$http.get()
が非同期であるため、m
とj
の値をどこに保存することはできません。 m
とj
の値を保存し、loadMore()
が再び呼び出されたときに再利用する方法はありますか?最大j
の値は40です。m = j(40)のときは停止します。
ここに私のコントローラコードです。
$scope.loadMore = function() {
$http.get(url).success(function(data, status, headers, config) {
if(data) {
$scope.hotels = data.hotels;
for(var i = m; i < j; i++) {
console.log('i=',i);
$scope.hotelsNew.push($scope.hotels[i]);
console.log('hotelsNew',$scope.hotelsNew);
}
}
}
どのように私はm
とj
値をインクリメントすることができますか?任意のアイデアを?
「m」と「j」はどれくらい増分されますか?それは固定値ですか? –
jの最大値は40(固定)にすることができます。m = jの場合、loadMore()関数が呼び出されても、更新は終了します。 –