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 相关文章推荐
java script编程起步(第三课)
Jan 10 Javascript
开发跨浏览器javascript常见注意事项
Jan 01 Javascript
JQuery 确定css方框模型(盒模型Box Model)
Jan 22 Javascript
javascript客户端解决方案 缓存提供程序
Jul 14 Javascript
JS跨域总结
Aug 30 Javascript
jquery插件corner实现圆角边框的方法
Mar 09 Javascript
兼容各大浏览器的JavaScript阻止事件冒泡代码
Jul 09 Javascript
jquery使用ul模拟select实现表单美化的方法
Aug 18 Javascript
在 Express 中使用模板引擎
Dec 10 Javascript
thinkphp实现无限分类(使用递归)
Dec 19 Javascript
jQuery使用经验小技巧(推荐)
May 31 Javascript
ES6如何用一句代码实现函数的柯里化
Jan 18 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简单计算两个时间差的方法示例
2017/06/20 PHP
php实现表单提交上传文件功能
2018/05/28 PHP
PHP PDOStatement::setAttribute讲解
2019/02/01 PHP
PHP 超级全局变量相关总结
2020/06/30 PHP
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
jquery+css3实现会动的小圆圈效果
2016/01/27 Javascript
如何在Linux上安装Node.js
2016/04/01 Javascript
详谈表单格式化插件jquery.serializeJSON
2017/06/23 jQuery
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
浅谈开发eslint规则
2018/10/01 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
Vue 页面权限控制和登陆验证功能的实例代码
2019/06/20 Javascript
vuex 实现getter值赋值给vue组件里的data示例
2019/11/05 Javascript
Electron+vue从零开始打造一个本地播放器的方法示例
2020/10/27 Javascript
python实现class对象转换成json/字典的方法
2016/03/11 Python
Python生成随机数组的方法小结
2017/04/15 Python
Python实现注册登录系统
2017/08/08 Python
Python常用字符串替换函数strip、replace及sub用法示例
2018/05/21 Python
Python匿名函数及应用示例
2019/04/09 Python
Python中利用LSTM模型进行时间序列预测分析的实现
2019/07/26 Python
python3 反射的四种基本方法解析
2019/08/26 Python
Pycharm中出现ImportError:DLL load failed:找不到指定模块的解决方法
2019/09/17 Python
使用python制作游戏下载进度条的代码(程序说明见注释)
2019/10/24 Python
python实现把两个二维array叠加成三维array示例
2019/11/29 Python
django model的update时auto_now不被更新的原因及解决方式
2020/04/01 Python
jupyter notebook 多行输出实例
2020/04/09 Python
Python3爬虫中Selenium的用法详解
2020/07/10 Python
We Fashion荷兰:一家国际时装公司
2018/04/18 全球购物
学生自我评语大全
2014/04/18 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
公司周年庆典标语
2014/10/07 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
Python3中PyQt5简单实现文件打开及保存
2021/06/10 Python
Django框架中模型的用法
2022/06/10 Python
go goth封装第三方认证库示例详解
2022/08/14 Golang