Ionic如何實現(xiàn)下拉刷新與上拉加載功能
IONIC 是目前最有潛力的一款 HTML5 手機應(yīng)用開發(fā)框架。通過 SASS 構(gòu)建應(yīng)用程序,它提供了很多 UI 組件來幫助開發(fā)者開發(fā)強大的應(yīng)用。 它使用 JavaScript MVVM 框架和 AngularJS 來增強應(yīng)用。提供數(shù)據(jù)的雙向綁定,使用它成為 Web 和移動開發(fā)者的共同選擇。Ionic是一個專注于用WEB開發(fā)技術(shù),基于HTML5創(chuàng)建類似于手機平臺原生應(yīng)用的一個開發(fā)框架。Ionic框架的目的是從web的角度開發(fā)手機應(yīng)用,基于PhoneGap的編譯平臺,可以實現(xiàn)編譯成各個平臺的應(yīng)用程序。
本文給大家介紹 Ioinc中怎么實現(xiàn) 下拉刷新和上拉加載功能的。在項目開發(fā)中經(jīng)常遇到此功能,感興趣的朋友一起看看吧。
HTML部分
<ion-view view-title="消息通知">
<ion-content class="padding">
<!-- <ion-refresher> 下拉刷新指令 -->
<ion-refresher pulling-text="Pull to refresh" on-refresh="vm.doRefresh()"></ion-refresher>
<div class="list card" ng-repeat="message in vm.messages" >
<div class="item item-divider item-icon-right">{{message.title}}
<i class="icon" ng-click="vm.show(message)" ng-class="message.static?‘ion-arrow-down-b‘:‘ion-arrow-right-b‘"></i></div>
<div class="item item-body">
<div>
{{message.static?message.content:message.content.substr(, )}}
</div>
</div>
</div>
<!-- ion-infinite-scroll 上拉加載數(shù)據(jù)指令 distance默認% nf-if的值為false時,就禁止執(zhí)行on-infinite -->
<ion-infinite-scroll ng-if="!vm.moredata" on-infinite="vm.loadMore()" distance="%" ></ion-infinite-scroll>
</ion-content>
</ion-view>
JS部分
• on-refresh 下拉觸發(fā)的函數(shù) 函數(shù)執(zhí)行結(jié)束之前必須廣播下該事件結(jié)束 $scope.$broadcast(‘scroll.refreshComplete‘);
• on-infinite 上拉觸發(fā)的函數(shù) 同樣需要廣播事件結(jié)束 $scope.$broadcast(‘scroll.infiniteScrollComplete‘);
angular.module(‘starter.controllers‘, [])
.controller(‘InfoCtrl‘, function($rootScope, $timeout, $interval, $scope, $http, services) {
var vm = $scope.vm = {
moredata: false,
messages: [],
pagination: {
perPage: ,
currentPage:
},
init: function () {
services.getMessages({perPage: vm.pagination.perPage, page: vm.pagination.currentPage}, function (data) {
vm.messages = data;
})
},
show: function (message) {
if (message.static) {
message.static = false;
} else {
message.static = true;
}
},
doRefresh: function () {
$timeout(function () {
$scope.$broadcast(‘scroll.refreshComplete‘);
}, );
},
loadMore: function () {
vm.pagination.currentPage += ;
services.getMessages({perPage: vm.pagination.perPage, page: vm.pagination.currentPage}, function (data) {
vm.messages = vm.messages.concat(data);
if (data.length == ) {
vm.moredata = true;
};
$scope.$broadcast(‘scroll.infiniteScrollComplete‘);
})
}
}
vm.init();
})
此處的messages 是view顯示的數(shù)據(jù),pagination是做分頁加載顯示的參數(shù),service是我封裝的$http服務(wù),show方法是view信息顯示的開關(guān)(這些都可以不用注意)!
關(guān)于小編給大家介紹的Ionic如何實現(xiàn)下拉刷新與上拉加載的相關(guān)內(nèi)容就給大家介紹完了,希望對大家有所幫助,如果大家想了解更多內(nèi)容敬請關(guān)注腳本之家網(wǎng)站!
相關(guān)文章
js console.log打印對像與數(shù)組用法詳解
這篇文章主要介紹了js console.log打印對像與數(shù)組用法,結(jié)合實例形式較為詳細的分析了js使用console.log實現(xiàn)打印對象與數(shù)組的具體實現(xiàn)步驟與相關(guān)技巧,需要的朋友可以參考下2016-01-01
Sortable.js功能強大的JavaScript 拖拽庫示例詳解
SortableJS 是一個強大、靈活且易于使用的 JavaScript 庫,適用于各種類型的拖放排序需求,這篇文章主要介紹了Sortable.js功能強大的JavaScript 拖拽庫示例詳解,需要的朋友可以參考下2025-01-01
Bootstrap中g(shù)lyphicons-halflings-regular.woff字體報404錯notfound的解
這篇文章主要介紹了 Bootstrap中g(shù)lyphicons-halflings-regular.woff字體報404錯notfound的解決方法,需要的朋友可以參考下2017-01-01
一文詳解preact的高性能狀態(tài)管理Signals
這篇文章主要介紹了一文詳解preact的高性能狀態(tài)管理Signals,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的朋友可以參考一下2022-09-09
JavaScript高級程序設(shè)計 閱讀筆記(四) ECMAScript中的類型轉(zhuǎn)換
ECMAScript中的類型轉(zhuǎn)換,學習js的朋友可以看看2012-02-02
JavaScript實現(xiàn)多張圖片放大鏡效果示例【不限定圖片尺寸,rem單位】
這篇文章主要介紹了JavaScript實現(xiàn)多張圖片放大鏡效果,結(jié)合實例形式分析了javascript實現(xiàn)不限定圖片尺寸,采用rem單位的多張圖片縮放功能相關(guān)操作技巧,需要的朋友可以參考下2019-05-05

