AngularJS基于ngInfiniteScroll實現(xiàn)下拉滾動加載的方法
本文實例講述了AngularJS基于ngInfiniteScroll實現(xiàn)下拉滾動加載的方法。分享給大家供大家參考,具體如下:
1.分頁加載數(shù)據(jù)的基礎(chǔ)上,如何通過滾動加載,實現(xiàn)分頁加載數(shù)據(jù)的效果,github上,針對AngularJS,有一款不錯的插件,地址為:https://github.com/sroze/ngInfiniteScroll
2.下面來看官方給出的文檔
(1)使用樣例:
<ANY infinite-scroll='{expression}' [infinite-scroll-distance='{number}'] [infinite-scroll-disabled='{boolean}'] [infinite-scroll-immediate-check='{boolean}'] [infinite-scroll-listen-for-event='{string}']> </ANY>
解釋各個屬性(指令的含義)
①infinite-scroll - {expression} 當滾動到瀏覽器底部時,所執(zhí)行的函數(shù)或者表達式,通常是函數(shù)形式。
②infinite-scroll-distance (optional) - {number} 表達式或者數(shù)字,如果是一個數(shù)字,表示滾動條距離瀏覽器底部多少遠時,執(zhí)行①中里面的函數(shù)。如果將這個值設置為2,對于1000px高度的元素,當元素底部距離瀏覽器窗口底部距離在2000px像素以內(nèi),沒滾動一次,都會執(zhí)行一次①里面的函數(shù)。(這個值默認是0,即當元素滾動到元素底部達到瀏覽器窗口(滾動區(qū)域)底部時,執(zhí)行滾動區(qū)域里面的函數(shù)。
③infinite-scroll-disabled (optional) - {boolean} 一個布爾值,用于標志滾動表達函數(shù)能否執(zhí)行,如果值為true,表示滾動函數(shù)不能被執(zhí)行。這個屬性,通常用于暫?;蛘咄V?jié)L動。比如當我們在AJAX請求數(shù)據(jù)的過程中,移動了滾動條,這時就需要設置這個屬性,禁止?jié)L動函數(shù)的執(zhí)行。
④infinite-scroll-immediate-check (optional) - {boolean} 一個布爾值,用于標志指令在初始化頁面時,是否為初始執(zhí)行一次(即使這種情況下,沒有初始滾動),默認值為true,表示初始會執(zhí)行一次這①里面的函數(shù)。
⑤infinite-scroll-listen-for-event (optional) - {string} 一個事件,當接受到這個事件時候,會重新執(zhí)行滾動函數(shù),重新定位滾動位置,比如到元素被修改時,會重新執(zhí)行滾動函數(shù)。
(2)本地的DEMO
官網(wǎng)給出了本地運行,實現(xiàn)滾動加載的例子:
HTML代碼:
<div ng-app='myApp' ng-controller='DemoController'> <div infinite-scroll='loadMore()' infinite-scroll-distance='2'> <img ng-repeat='image in images' ng-src='http://placehold.it/225x250&text={{image}}'> </div> </div>
JS代碼:
var myApp = angular.module('myApp', ['infinite-scroll']); myApp.controller('DemoController', function($scope) { $scope.images = [1, 2, 3, 4, 5, 6, 7, 8]; $scope.loadMore = function() { var last = $scope.images[$scope.images.length - 1]; for(var i = 1; i <= 8; i++) { $scope.images.push(last + i); } }; });
更多關(guān)于AngularJS相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《AngularJS入門與進階教程》及《AngularJS MVC架構(gòu)總結(jié)》
希望本文所述對大家AngularJS程序設計有所幫助。
相關(guān)文章
Angular2 自定義validators的實現(xiàn)方法
angular 當需要form表單需要驗證時,angular自帶了許多校驗器,但是很多時候自帶的無法滿足業(yè)務需求,這時候就需要自定義的校驗器,下面通過本文給大家分享Angular2 自定義validators的實現(xiàn)方法,需要的朋友參考下吧2017-07-07Angular2使用Guard和Resolve進行驗證和權(quán)限控制
本篇文章主要介紹了Angular2使用Guard和Resolve進行驗證和權(quán)限控制,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-04-04Angularjs渲染的 using 指令的星級評分系統(tǒng)示例
本篇文章主要介紹了Angularjs渲染的 using 指令的星級評分系統(tǒng)示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-11-11Angular 2 利用Router事件和Title實現(xiàn)動態(tài)頁面標題的方法
本篇文章主要介紹了Angular 2 利用Router事件和Title實現(xiàn)動態(tài)頁面標題的方法,具有一定的參考價值,有興趣的可以了解一下2017-08-08angular2路由之routerLinkActive指令【推薦】
這篇文章主要介紹了angular2路由之routerLinkActive指令的相關(guān)資料,需要的朋友可以參考下2018-05-05