美文网首页
纪念浪费一个下午的时间踩下的坑

纪念浪费一个下午的时间踩下的坑

作者: clumsy钧 | 来源:发表于2018-11-19 10:11 被阅读0次

最近一直在写vue代码,好久没有进行知识总结了,想着写点什么,正好踩了一个坑,浪费了一个下午的时间填了一下

移动端实现滚动加载

  • 框架是vue
  • mint-ui

环境准备(默认已将所有引入的组件安装)

import Vue from 'vue'
import axios from 'axios'
import url from 'js/api.js'
import { InfiniteScroll } from 'mint-ui';
Vue.use(InfiniteScroll);

vue实例

new Vue({
    el:'.container',
    data:{
        searchData:null,//数据存储
        pageNum:1,
        pageSize:8,
        isAllloaded:false,//判断数据是否全部加载完毕
         onloading:false//当判断为true时 执行加载数据的方法
    }

js逻辑

 getSearchlist(){
            this.onloading=true  //函数执行时先设置为true才能进行下面
            if(this.isAllloaded) return // 若数据加载完毕后择直接返回
            axios.get(url.searchlist,{
                params:{
                    keyword,
                    id,
                    pageNum:this.pageNum,
                    pageSize:this.pageSize,         
                }
            }).then(res=>{      
                console.log(this.pageSize,this.pageNum)
                let currentLists=res.data.lists   //声明一个当前列表
                
                if(currentLists.length<this.pageSize ){ //如果当前列表的列数小于一页所拥有的数即为数据加载完毕
                    this.isAllloaded=true
                }
                if(this.searchData){  //如果已经有数据加载到searchData上
                    
                    this.searchData=this.searchData.concat(currentLists)//把当前页继续拼接到searchData上
                }else{
                    this.searchData=currentLists  //否则将当前页赋值给searchData 即 第一次加载数据
                }      
                this.pageNum++ //页数增加一页
                 this.onloading=false //  数据停止加载        
            }).catch(err=>{
                console.log(err)
            })
        }

以上是业务逻辑实现,下面说一下我踩到的坑

mint-ui中的InfiniteScroll在页面中的引入方法

<ul
  v-infinite-scroll="getSearchlist"
  infinite-scroll-disabled="onloading"
  infinite-scroll-distance="10">
  <li v-for="item in searchData">{{ item }}</li>
</ul>

该ul的父元素的高度必须给定,否则onloading无法从true 变为false,
择数据会不断地加载下去

相关文章

  • 纪念浪费一个下午的时间踩下的坑

    最近一直在写vue代码,好久没有进行知识总结了,想着写点什么,正好踩了一个坑,浪费了一个下午的时间填了一下 移动端...

  • 职场|那些过去踩下的坑

    事件回顾: 过去所在的某家公司,个人为其垫付了200+办公用品费用,当时没有加速跟进这笔报销款,以至于拖到公司倒闭...

  • 一个浪费的下午

    每当我想写长篇文字,一般都是心情不好又无处抒发的时候,以前会写在日记上,但总觉得缺少了见证和分享,写在简书,无非就...

  • 浪费

    林宥嘉 唱 浪费 为了纪念 他的 爱人 我的 浪费 是 时间流逝 时间 如直线 延续

  • 纪念一个伤心的下午

    不知道在你的生活中,有没有那么一个人。老师讲课的时候,不论是理论课还是实践课,她总是认真的听讲,认真的模仿老师的动...

  • 为什么这么喜欢手帐?实在太漂亮啦……

    这玩意儿最近才接触没多久,确实发现有点入坑容易,出坑难,为啥喜欢这些华而不实的东西?浪费时间,浪费金钱,浪费人力…...

  • 我的人生大坑

    第一坑:我每天把一部分时间注意力放在了手机上,浪费了我很多时间 第二坑:我把一部分时间都浪费在吃饭睡觉里了 第三坑...

  • ionic3升级适配angular5

    昨天angular5和ionic3同时发布更新了,为了用上angular5的新特性,还是有必要踩下坑的,当然踩坑的...

  • 浪费的下午时光

    今天是周一。平常的时候本是忙碌的一天,但是现在是放假时间,所以,今天比较闲。 从早上的起床说起,九点起...

  • 一个下午的时间

    下午的五个小时里,一个人,看不懂书,没有特别的爱好,也没有可以同频交流的人,那应该怎样才能渡过? 安安每天都要面对...

网友评论

      本文标题:纪念浪费一个下午的时间踩下的坑

      本文链接:https://www.haomeiwen.com/subject/nxhofqtx.html