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 Xml增删改查(IE下)操作实现代码
Jan 30 Javascript
javascript replace()正则替换实现代码
Feb 26 Javascript
始终在屏幕中间显示Div的代码(css+js)
Mar 10 Javascript
jquery实现网站超链接和图片提示效果
Mar 21 Javascript
子页向父页传值示例
Nov 27 Javascript
浅谈jQuery中的checkbox问题
Aug 10 Javascript
Bootstrap基本插件学习笔记之折叠(22)
Dec 08 Javascript
AngularJS基于ngInfiniteScroll实现下拉滚动加载的方法
Dec 14 Javascript
Vue实现动态响应数据变化
Apr 28 Javascript
vue项目中axios请求网络接口封装的示例代码
Dec 18 Javascript
vue 在单页面应用里使用二级套嵌路由
Dec 19 Vue.js
使用Vue.js和MJML创建响应式电子邮件
Mar 23 Vue.js
利用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
Ajax+PHP边学边练 之五 图片处理
2009/12/03 PHP
redis 队列操作的例子(php)
2012/04/12 PHP
PHP中HTML标签过滤技巧
2014/01/07 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
PHP生成不重复标识符的方法
2014/11/21 PHP
php准确获取文件MIME类型的方法
2015/06/17 PHP
yii 框架实现按天,月,年,自定义时间段统计数据的方法分析
2020/04/04 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
jquery中filter方法用法实例分析
2015/02/06 Javascript
详解JavaScript中的every()方法
2015/06/08 Javascript
使用堆实现Top K算法(JS实现)
2015/12/25 Javascript
js实现的页面矩阵图形变换特效
2016/01/26 Javascript
JQuery的常用选择器、过滤器、方法全面介绍
2016/05/25 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
获取当前按钮或者html的ID名称实例(推荐)
2017/06/23 Javascript
nodejs使用http模块发送get与post请求的方法示例
2018/01/08 NodeJs
解决Vue在封装了Axios后手动刷新页面拦截器无效的问题
2018/11/08 Javascript
vue自动化路由的实现代码
2019/09/30 Javascript
使用Python对MySQL数据操作
2017/04/06 Python
Python 判断 有向图 是否有环的实例讲解
2018/02/01 Python
Window 64位下python3.6.2环境搭建图文教程
2018/09/19 Python
Python创建字典的八种方式
2019/02/27 Python
详解python中各种文件打开模式
2020/01/19 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
2020/01/20 Python
解决Jupyter无法导入已安装的 module问题
2020/04/17 Python
PyCharm中如何直接使用Anaconda已安装的库
2020/05/28 Python
python文件路径操作方法总结
2020/12/21 Python
欧姆龙医疗欧洲有限公司:Omron Healthcare Europe B.V
2020/06/13 全球购物
12月红领巾广播稿
2014/02/13 职场文书
秋季运动会开幕词
2015/01/28 职场文书
致地震灾区的慰问信
2015/03/23 职场文书
大学生干部培训心得体会
2016/01/06 职场文书
母婴行业实体、电商模式全面解析
2019/08/01 职场文书
抖音短视频(douyin)去水印工具的实现代码
2021/03/30 Javascript
Redis高并发防止秒杀超卖实战源码解决方案
2021/11/01 Redis
React更新渲染原理深入分析
2022/12/24 Javascript