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
js创建数据共享接口——简化框架之间相互传值
Oct 23 Javascript
jQuery源码分析-03构造jQuery对象-源码结构和核心函数
Nov 14 Javascript
jquery 缓存问题的几个解决方法
Nov 11 Javascript
禁止拷贝网页内容的js代码
Jan 22 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
Oct 25 Javascript
利用JavaScript在网页实现八数码启发式A*算法动画效果
Apr 16 Javascript
Kotlin学习第一步 kotlin语法特性
May 25 Javascript
OpenLayer3自定义测量控件MeasureTool
Sep 28 Javascript
解决antd Form 表单校验方法无响应的问题
Oct 27 Javascript
Vue项目如何引入bootstrap、elementUI、echarts
Nov 26 Vue.js
js重写alert事件(避免alert弹框标题出现网址)
Dec 04 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 日常开发小技巧
2009/09/23 PHP
在php和MySql中计算时间差的方法
2011/04/22 PHP
php设计模式 Bridge (桥接模式)
2011/06/26 PHP
探讨fckeditor在Php中的配置详解
2013/06/08 PHP
高性能PHP框架Symfony2经典入门教程
2014/07/08 PHP
php单例模式的简单实现方法
2016/06/10 PHP
laravel 解决多库下的DB::transaction()事务失效问题
2019/10/21 PHP
Laravel 实现Eloquent模型分组查询并返回每个分组的数量 groupBy()
2019/10/23 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
关于jQuery UI 使用心得及技巧
2012/10/10 Javascript
javascript+canvas制作九宫格小程序
2014/12/28 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
2015/07/27 Javascript
详解使用VUE搭建后台管理系统(vue-cli更新至3.0)
2018/08/22 Javascript
手动下载Chrome并解决puppeteer无法使用问题
2018/11/12 Javascript
JS实现“全选”和&quot;全不选&quot;功能代码实例
2020/02/06 Javascript
vue 微信分享回调iOS和安卓回调出现错误的解决
2020/09/07 Javascript
js实现弹窗猜数字游戏
2020/11/26 Javascript
python中的代码编码格式转换问题
2015/06/10 Python
Python爬虫之xlml解析库(全面了解)
2017/08/08 Python
Pandas 数据框增、删、改、查、去重、抽样基本操作方法
2018/04/12 Python
Flask之请求钩子的实现
2018/12/23 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
使用Python判断一个文件是否被占用的方法教程
2020/12/16 Python
详解如何在css中引入自定义字体(font-face)
2018/05/17 HTML / CSS
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
小学教师办公室制度
2014/02/03 职场文书
淘宝活动策划方案
2014/02/06 职场文书
员工晚婚的请假条
2014/02/08 职场文书
工程承诺书怎么写
2014/05/24 职场文书
群众路线领导对照材料
2014/08/23 职场文书
科级干部群众路线教育实践活动个人对照检查材料
2014/09/19 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
Python机器学习之决策树和随机森林
2021/07/15 Javascript
如何在python中实现ECDSA你知道吗
2021/11/23 Python
Python进程间的通信之语法学习
2022/04/11 Python