AnglarJsは無限スクロールローディングを実現します。
3040 ワード
ngInfiniteScrrollはangglarの拡張命令であり、ページの無限スクロールローディング機能を実現できます。
この機能を実現するには、https://github.com/sroze/ngInfiniteScrollこのサードパーティコントロールは実装されます。ステップは以下の通りです
1.ng-infinite-scroll.jsプログラムをダウンロードするhttp://sroze.github.io/ngInfiniteScroll/ 現在のバージョンは1.0.0です。
2.もしあなたが使っているjQuery 2.0以上のバージョンであれば、まだng-infinite-scroll.jsプログラムを修正して、すべてのwindow.xxxを$に変えます。xxx、elem.xxxは$に変えます。xxx
3.HTMLにスクリプトを導入する
、 :
infinite-scroll: にデータをロードするためのものです。つまり、あなたが まで っ ったら、この を してデータをロードします。 infinite-scroll-disable:この はデフォルトではfalse(Booleanタイプ)で、デフォルトでは「スクロール 」という をオフにします。trueの になるとinfinite-scroll="vm.nextPage()"のvm.nextPage()メソッドは び されません。 のページをめくる はinfinite-scroll-disable='{scroll switch} にdisableの を える があります。infinite-scroll-distance:この は ページの ですか? えば、この が「0」なら、ページが までスクロールする にデータのロードを します。この が「1」であれば、 にスクロールして「1」のページが ります。もちろん にページにアクセスした (まだスクロールを していません)、 に2ページの をロードします。 : はブロ の を して、 に に つと じて しました。
この機能を実現するには、https://github.com/sroze/ngInfiniteScrollこのサードパーティコントロールは実装されます。ステップは以下の通りです
1.ng-infinite-scroll.jsプログラムをダウンロードするhttp://sroze.github.io/ngInfiniteScroll/ 現在のバージョンは1.0.0です。
2.もしあなたが使っているjQuery 2.0以上のバージョンであれば、まだng-infinite-scroll.jsプログラムを修正して、すべてのwindow.xxxを$に変えます。xxx、elem.xxxは$に変えます。xxx
3.HTMLにスクリプトを導入する
4.HTMLのサンプルコードは の りです。
Loading data...
5.PostListController.jsコードは の りです。var ftitAppModule = angular.module('ftitApp', ['infinite-scroll']);
ftitAppModule.controller('PostListController',
function ($scope, Demo) {
$scope.demo = new Demo();
});
//
ftitAppModule.factory('Demo', function ($http) {
var Demo = function () {
this.items = [];
this.busy = false;
this.after = '';
this.page = 0;
};
Demo.prototype.nextPage = function () {
if (this.busy) return;
this.busy = true;
var url = "http://192.168.3.95:7002/api/post/nextpage?id=" + this.page + "&callback=JSON_CALLBACK";
$http.jsonp(url).success(function (data) {
var items = data;
for (var i = 0; i < items.length; i++) {
this.items.push(items[i]);
}
this.after = "t3_" + this.items[this.items.length - 1].id;
this.busy = false;
this.page += 1;
}.bind(this));
};
return Demo;
});
これにより、ページを までドラッグした 、サーバーから にデータをロードする が されます。、 :
infinite-scroll: にデータをロードするためのものです。つまり、あなたが まで っ ったら、この を してデータをロードします。