1.封装扩展scroll.vue功能;

    //props传值

        pullup:{
type:Boolean,
default:false
} _initScroll(){
if(!this.$refs.wrapper){
return
}
this.scroll = new BScroll(this.$refs.wrapper,{
probeType: this.probeType,
click: this.click
})
if(this.listenScroll){//初始化时候判断是否监听滚动
let _this=this
this.scroll.on('scroll',(pos)=>{
_this.$emit('scroll',pos)
})
}
if(this.pullup){//滚动到底部的时候进行事件监听,刷新搜索列表//这里只是派发事件;
this.scroll.on('scrollEnd',()=>{
if(this.scroll.y <=(this.scroll.maxScrollY + 50)){
this.$emit('scrollToEnd')
}
})
}
},

2.在suggest中传值:

   <scroll
:pullup="pullup"
@scrollToEnd = 'searchMore'
>

3.searchMore方法:

a.data声明一个标识位hasMore:true;

b.当发送search()请求,请求后端数据的时候hasMore值为true,

c.封装_checkMore()方法,当已经显示条数大于总条数的时候将hasMore:false;

d.每次search()请求的最后调用_checkMore方法确定hasMore的值;

e.当hasMore:true的时候发送再次触发searchMore事件

      _checkMore(data){
const song = data.song
if(!song.list.length || (song.curnum + song.curPage*perPage)>song.totalnum){//页码数*每页数量大于总条数
this.hasMore = false
}
},
searchMore(){
if( !this.hasMore){
return
}
this.page++
search(this.query,this.page,this.showSinger,perpage).then((res) =>{
if (res.code === ERR_OK) {
this.result = this.result.concat(this._genResult(res.data))
this._checkMore(res.data)
}
})
},

最新文章

  1. nohup程序后台执行
  2. lua 学习笔记(1)
  3. winform 用户控件、 动态创建添加控件、timer控件、控件联动
  4. Codeforces558E A Simple Task(线段树)
  5. sql server 分布式查询 和 主从服务器搭建
  6. Java-继承,多态练习0922-02
  7. [转]ionic 通过PouchDB + SQLite来实现app的本地存储(Local Storage)
  8. Shell 之数组 [转]
  9. 夺命雷公狗—angularjs—1—三种数据版定方式
  10. 你所不知道的html5与html中的那些事第三篇
  11. css link和@import区别用法
  12. HomeSnap
  13. hdu1754线段树维护区间最大值
  14. 09-C语言数组
  15. SVM(支持向量机)(二)—Lagrange Duality(拉格朗日对偶问题)
  16. Ubuntu下安装KDE及安装中文环境
  17. HBase MVCC 代码阅读(一)
  18. WEB前端常见面试题汇总:(一)
  19. pwnable.kr fb
  20. Linux命令:mapfile

热门文章

  1. 重启ssh服务出现Redirecting to /bin/systemctl restart sshd.service
  2. boost boost::asio::read socket.read_some 区别
  3. leetcode44:wildcard
  4. 获取当前日期 java
  5. 进阶之路(基础篇) - 009 通过底层AVR方法实现SPI数据传输
  6. 【Linux】分割命令split
  7. 测试Js权限
  8. 关于varchar(max), nvarchar(max)和varbinary(max)
  9. [Aaronyang] 写给自己的WPF4.5 笔记5[数据绑定三巴掌1/3]
  10. java 中获得 资源文件方法