1.必须写在content标签里面
<
ion-infinite-scroll
icon=
"ion-loading-c"
ng-if=
"
moreDataCanBeLoaded
()"
immediate-check=
"false"
on-infinite=
"loadMore()"
distance=
"1%"
>
</
ion-infinite-scroll
>
2.
controller里面
.controller('CustsrvSearchCtrl', ['$scope','$stateParams','$timeout','custsrvService','$ionicHistory','$state','$ionicLoading', function($scope,$stateParams,$timeout,custsrvService,$ionicHistory,$state,$ionicLoading) {//$stateParams传递参数 //生命周期/ 该观点已经全面进入,现在是活动视图 $scope.$on("$ionicView.enter", function() { $scope.seachText=""; $scope.seachEnd=""; $(".noMessage").addClass("hide"); }) //返回上一页 $scope.goback=function(){ $state.go('tab.custsrv'); } //点击搜索 默认按照兑换量从大到小排序 var searchData={ keyword:$scope.seachText, page:1, rows:10,//每次加载10条 orderName:"SALE_CNT",//兑换量 orderType:"DESC"//从大到小 } var total="" //调用查询接口 需判断input是否有输入值 $scope.starSearch=function(){ var sText=stripscript($.trim($scope.seachText))//trim:移除前后空格,stripscript:移除特殊字符 searchData.keyword=sText; if (sText == ""){ showMsg('请输入搜索关键字', 'center') $scope.seachEnd="";//清空搜索结果 $(".noMessage").removeClass("hide"); }else{ custsrvService.getSearch(searchData).then(function(res){ $scope.seachEnd=res.productList; total=res.TOTAL; if(0==res.productList.length){ $(".noMessage").removeClass("hide"); }else{ $(".noMessage").addClass("hide"); } }) } } //input 移除特殊字符的方法 function stripscript(value) { var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()——|{}【】‘;:”“'。,、?%]") var rs = ""; for (var i = 0; i < value.length; i++) { rs = rs+value.substr(i, 1).replace(pattern, ''); } return rs; } //上拉加载更多 custsrvService.param.hasmore = true; //上拉触发函数 $scope.loadMore = function () { //这里使用定时器是为了缓存一下加载过程,防止加载过快 $timeout(function () { if (!custsrvService.param.hasmore) { $scope.$broadcast('scroll.infiniteScrollComplete'); return; } if(Number(searchData.page)*Number(searchData.rows)<Number(total)){ searchData.page++; custsrvService.getSearch(searchData).then(function(res){ $scope.seachEnd = $.merge($scope.seachEnd, res.productList); }) $scope.$broadcast('scroll.infiniteScrollComplete'); }else{ $scope.$broadcast('scroll.infiniteScrollComplete'); } }, 1500); }; //控制列表是否允许其加载更多 $scope.moreDataCanBeLoaded = function () { return custsrvService.param.hasmore; } }])
3。service