AnglarJs中的上拉加载实现代码


Posted in Javascript onFebruary 08, 2018

简介

上拉加载,是目前手机网站加载数据的一种常用方式,本文主要讲解AnglarJs集成,上拉加载功能。通常与下拉刷新配置使用,下拉刷新请查阅。

实现

页面

<div class="search-box">
 <b class="dw" ></b>
  <input type="search" class="search-input" placeholder="请输入搜索关键词" ng-model="catparm">
  <b class="dw" ng-click="serchcat()"><img src="{{basepath}}images/cg-app-search.png"></b>
 </div>
 <div class="list-box" >
  <div infinite-scroll='catinfo.nextPage()' infinite-scroll-disabled='catinfo.busy' infinite-scroll-distance='' id="catinfolist">
  <ul>
   <li ng-repeat='branch in catinfo.items'>
  <!-- <li ng-repeat="branch in branchs">-->
   <a ng-click="showqr(branch.qr)">
   <dl>
   <dt class="search-key-img">
    <img ng-src="{{branch.catimg}}">
   </dt> 
   <dd class="search-key-title">
    <p>{{branch.title}}</p>
    </dd>
    <dd class="search-key-info">
    <span>联系人:{{branch.linkman}} </span><span>品种:{{branch.varieties}} </span> <span style="color: red;">价格:{{branch.price}} </span>
    </dd>
    <dd class="search-key-tag">
    <span>地址:{{branch.region}}</span><span ng-if="branch.wechatno !=''">微信号:{{branch.wechatno}}</span>
    </dd>
    <dd class="search-key-tag">
     <p> 发布时间:{{branch.releasetime}}</p>
    </dd>
   </dl>
   </a>
  </li>
  </ul>
   <div ng-if="catinfo.items.length >= 10 ">
    <div ng-show='catinfo.busy' align="center" style="margin-top:5px; "><!--<img src="{{basepath}}images/729.GIF" style="width:50px;height:50px;">-->loading......</div>
   </div>
   <div ng-if="catinfo.items.length % 10 !=0 ">
    <p class="get-more">我也是有底线的</p>
   </div>
  </div>
  <dialog load-data="data"></dialog>
 </div>

controller中上拉加载功能使用

app.controller('wdListCtrl', ['$scope','catInfoService', function ($scope,catInfoService) {
//下拉加载service
 $scope.catinfo = new catInfoService();

封装上拉加载CatInfoService.js

/** 2017-10-26
 *作者:卜凡起
 *功能:
 */
define(['jquery','app'], function ($,app) {
 app.service('catInfoService', ['$location','$http', function($location,$http) {
  var CatInfo = function () {
   this.items =null;
   this.busy = false;
   this.after = '';
   this.page = 1;
   this.pagenum =10;
   this.title = '';
   this.varieties ='';
  };
  CatInfo.prototype.nextPage = function () {
   if (this.busy) return;
   this.busy = true;
   var url = baseurl+"接口地址?page=" + this.page + "&pagenum="+ this.pagenum + "&title="+this.title+ "&varieties="+this.varieties+"&callback=JSON_CALLBACK";
   $http.jsonp(url).success(function(data) {
    var items =data.data;
    console.log(items);
    if( this.items == null){
     this.items=items;
    }else{
     for (var i =0;i < items.length; i++) {
      this.items.push(items[i]);
     }
    }
    this.after = "t_" + this.items[this.items.length -1 ].id;
    if(items != null){
     if(items.length< 10){
      this.busy = true;
     }else{
      this.busy = false;
     }
    }
    this.page +=1;
   }.bind(this));
  };
  return CatInfo;
 }] );
});

效果

AnglarJs中的上拉加载实现代码

总结

以上所述是小编给大家介绍的AnglarJs中的上拉加载实现代码,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
JavaScript窗口功能指南之在窗口中书写内容
Jul 21 Javascript
使用正则替换变量
May 05 Javascript
javascript 获取url参数和script标签中获取url参数函数代码
Jan 22 Javascript
text-align:justify实现文本两端对齐 兼容IE
Aug 19 Javascript
vue实现可增删查改的成绩单
Oct 27 Javascript
vue组件初学_弹射小球(实例讲解)
Sep 06 Javascript
vue+element-ui动态生成多级表头的方法
Aug 28 Javascript
谈谈React中的Render Props模式
Dec 06 Javascript
vue权限管理系统的实现代码
Jan 17 Javascript
js 实现ajax发送步骤过程详解
Jul 25 Javascript
js找出5个数中最大的一个数和倒数第二大的数实现方法示例小结
Mar 04 Javascript
15个简单的JS编码标准让你的代码更整洁(小结)
Jul 16 Javascript
利用vue.js实现被选中状态的改变方法
Feb 08 #Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
Feb 08 #Javascript
vue绑定的点击事件阻止冒泡的实例
Feb 08 #Javascript
Vue.js 点击按钮显示/隐藏内容的实例代码
Feb 08 #Javascript
vue中改变选中当前项的显示隐藏或者状态的实现方法
Feb 08 #Javascript
Ionic学习日记实现验证码倒计时
Feb 08 #Javascript
vue父组件点击触发子组件事件的实例讲解
Feb 08 #Javascript
You might like
解析获取优酷视频真实下载地址的PHP源代码
2013/06/26 PHP
PHP使用Alexa API获取网站的Alexa排名例子
2014/06/12 PHP
ThinkPHP表单自动提交验证实例教程
2014/07/18 PHP
PHP给源代码加密的几种方法汇总(推荐)
2018/02/06 PHP
PHP实现的多维数组排序算法分析
2018/02/10 PHP
js下弹出窗口的变通
2007/04/18 Javascript
JavaScript中发布/订阅模式的简单实例
2014/11/05 Javascript
js实时获取并显示当前时间的方法
2015/07/31 Javascript
基于Jquery和html5的7款个性化地图插件
2015/11/17 Javascript
js表单提交和submit提交的区别实例分析
2015/12/10 Javascript
AngularJs动态加载模块和依赖注入详解
2016/01/11 Javascript
微信小程序 location API实例详解
2016/10/02 Javascript
微信小程序 绘图之饼图实现
2016/10/24 Javascript
浅析Node.js:DNS模块的使用
2016/11/23 Javascript
如何快速上手Vuex
2017/02/14 Javascript
Node.JS文件系统解析实例详解
2017/05/15 Javascript
基于JavaScript实现百度搜索框效果
2020/06/28 Javascript
详解React服务端渲染从入门到精通
2019/03/28 Javascript
vue中使用element组件时事件想要传递其他参数的问题
2019/09/18 Javascript
[55:25]VGJ.T vs Optic Supermajor小组赛D组 BO3 第三场 6.3
2018/06/04 DOTA
Python中正则表达式的用法实例汇总
2014/08/18 Python
Python压缩和解压缩zip文件
2015/02/14 Python
Python简单进程锁代码实例
2015/04/27 Python
Python龙贝格法求积分实例
2020/02/29 Python
python和c语言哪个更适合初学者
2020/06/22 Python
pycharm激活方法到2099年(激活流程)
2020/09/22 Python
CSS3实现文本垂直排列的方法
2018/07/10 HTML / CSS
html5拖拽应用记录及注意点
2020/05/27 HTML / CSS
大学四年职业生涯规划书范文
2014/01/02 职场文书
英语专业学生个人求职信
2014/01/28 职场文书
幼儿园毕业园长感言
2014/02/24 职场文书
机械加工与数控专业自荐书
2014/06/04 职场文书
小学学校门卫岗位职责
2014/08/03 职场文书
2015年求职自荐信范文
2015/03/04 职场文书
2015年安全教育月活动总结
2015/03/26 职场文书
2015团员个人年度总结
2015/11/24 职场文书