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中检测变量是否存在遇到的一些问题
Nov 11 Javascript
javascript setinterval 的正确语法如何书写
Jun 17 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 Javascript
EasyUI实现第二层弹出框的方法
Mar 01 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
Sep 21 Javascript
jQuery使用Layer弹出层插件闪退问题
Dec 22 Javascript
完美解决手机浏览器顶部下拉出现网页源或刷新的问题
Nov 30 Javascript
js中Array对象的常用遍历方法详解
Jan 17 Javascript
element-ui table行点击获取行索引(index)并利用索引更换行顺序
Feb 27 Javascript
最全vue的vue-amap使用高德地图插件画多边形范围的示例代码
Jul 17 Javascript
vue项目查看vue版本及cli版本的实现方式
Oct 24 Javascript
JS Canvas接口和动画效果大全
Apr 29 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的curl封装类用法实例
2014/11/07 PHP
php+mysql大量用户登录解决方案分析
2014/12/29 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
php单链表实现代码分享
2016/07/04 PHP
PHP实现的简单操作SQLite数据库类与用法示例
2017/06/19 PHP
Yii使用EasyWechat实现小程序获取用户的openID的方法
2020/04/29 PHP
JavaScript 面向对象的 私有成员和公开成员
2010/05/13 Javascript
Javascript在IE和FireFox中的不同表现简析
2012/12/03 Javascript
js判断url是否有效的两种方法
2014/03/04 Javascript
JS限制文本框只能输入数字和字母方法
2015/02/28 Javascript
js操作数组函数实例小结
2015/12/10 Javascript
js采用concat和sort将N个数组拼接起来的方法
2016/01/21 Javascript
javascript点击按钮实现隐藏显示切换效果
2016/02/03 Javascript
Javascript OOP之面向对象
2016/07/31 Javascript
JavaScript使用键盘输入控制实现数字验证功能
2016/08/19 Javascript
用JavaScript实现让浏览器停止载入页面的方法
2017/01/19 Javascript
vue.js的提示组件
2017/03/02 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
2017/03/21 Javascript
详解Angular 4.x Injector
2017/05/04 Javascript
Angular2之二级路由详解
2018/08/31 Javascript
详解webpack打包第三方类库的正确姿势
2018/10/20 Javascript
Vue 使用计时器实现跑马灯效果的实例代码
2019/07/11 Javascript
jQuery+ajax实现用户登录验证
2020/09/13 jQuery
[01:04:39]OG vs Mineski 2018国际邀请赛小组赛BO2 第二场 8.17
2018/08/18 DOTA
python实现自动更换ip的方法
2015/05/05 Python
Python PO设计模式的具体使用
2019/08/16 Python
tensorflow mnist 数据加载实现并画图效果
2020/02/05 Python
Python count函数使用方法实例解析
2020/03/23 Python
Pyinstaller 打包发布经验总结
2020/06/02 Python
挪威手表购物网站:Klokker
2016/09/19 全球购物
EQVVS官网:设计师男装和女装
2018/10/24 全球购物
德国网上超市:myTime.de
2019/08/26 全球购物
五分钟演讲稿
2014/04/30 职场文书
单位工作证明
2014/10/07 职场文书
2016年读书月活动总结范文
2016/04/06 职场文书