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 相关文章推荐
jquery checkbox,radio是否选中的判断代码
Mar 20 Javascript
jquery实现的图片点击滚动效果
Apr 29 Javascript
在IE8上JS实现combobox支持拼音检索功能
May 23 Javascript
JavaScript 数组中最大最小值
Jun 05 Javascript
简单的js计算器实现
Oct 26 Javascript
Vue如何引入远程JS文件
Apr 20 Javascript
Vue v2.4中新增的$attrs及$listeners属性使用教程
Jan 08 Javascript
vue+mousemove实现鼠标拖动功能(拖动过快失效问题解决方法)
Aug 24 Javascript
vuejs中监听窗口关闭和窗口刷新事件的方法
Sep 21 Javascript
node.js命令行教程图文详解
May 27 Javascript
jquery实现轮播图特效
Apr 12 jQuery
Vue router传递参数并解决刷新页面参数丢失问题
Dec 02 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
php下批量挂马和批量清马代码
2011/02/27 PHP
PHP安装memcache扩展的步骤讲解
2019/02/14 PHP
javascript Split方法,indexOf方法、lastIndexOf 方法和substring 方法
2009/03/21 Javascript
基于jquery的获取mouse坐标插件的实现代码
2010/04/01 Javascript
Javascript类定义语法,私有成员、受保护成员、静态成员等介绍
2011/12/08 Javascript
jQuery操作checkbox选择(list/table)
2013/04/07 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
seaJs的模块定义和模块加载浅析
2014/06/06 Javascript
jQuery前端分页示例分享
2015/02/10 Javascript
JS获取iframe中marginHeight和marginWidth属性的方法
2015/04/01 Javascript
JavaScript解八皇后问题的方法总结
2016/06/12 Javascript
Vue.js学习笔记之 helloworld
2016/08/14 Javascript
详解js的异步编程技术的方法
2017/02/09 Javascript
BootStrap与Select2使用小结
2017/02/17 Javascript
Vue封装Swiper实现图片轮播效果
2018/02/06 Javascript
原生JavaScript实现的简单放大镜效果示例
2018/02/07 Javascript
vue组件化中slot的基本使用方法
2019/05/01 Javascript
vue接入腾讯防水墙代码
2019/05/07 Javascript
如何在Angular8.0下使用ngx-translate进行国际化配置
2019/07/24 Javascript
vue 实现动态路由的方法
2020/07/06 Javascript
实例Python处理XML文件的方法
2015/08/31 Python
Python画图学习入门教程
2016/07/01 Python
Django自定义分页效果
2017/06/27 Python
Python 反转字符串(reverse)的方法小结
2018/02/20 Python
PyCharm使用之配置SSH Interpreter的方法步骤
2019/12/26 Python
如何快速理解python的垃圾回收机制
2020/09/01 Python
美国领先的礼品卡网站:GiftCards.com
2016/11/02 全球购物
Vrbo英国:预订度假屋
2020/08/19 全球购物
小学运动会入场式解说词
2014/02/18 职场文书
安全生产管理合理化建议书
2014/03/12 职场文书
职称评定自我鉴定
2014/03/18 职场文书
店面出租协议书范本
2014/11/28 职场文书
初中英语教师个人工作总结
2015/02/09 职场文书
党风廉政建设个人总结
2015/03/06 职场文书
2015年幼儿园中班开学寄语
2015/05/27 职场文书
2016年6月份红领巾广播稿
2015/12/21 职场文书