和methods平级:

    directives: {
loadmore: {//自定义指令: 下拉加载
bind(el, binding) {   
var p = 0;   
var t = 0;   
var down = true;   
var selectWrap = el.querySelector('.selectPhaseBox .el-scrollbar__wrap');
selectWrap.addEventListener('scroll', function() {     
//判断是否向下滚动     
p = this.scrollTop;  
if(t < p){       
down = true;     
}else{       
down = false;     
}     
t = p;     
//判断是否到底     
const sign = 10;     
const scrollDistance = this.scrollHeight - this.scrollTop - this.clientHeight;     
if (scrollDistance <= sign && down) {       
binding.value()     
}   
}); 
}
}
}  

注意点:

1.通过querySelector来监测滚动框

2.使用v-loadmore="loadmore"来执行回调函数,其中loadmore可以自定义业务逻辑,其中v-loadmore指令要放到监测的组件父级上

3.局部自定义指令放在组件文件里面,全局自定义指令放在main.js里面用Vue.directives的方式。

总结:

1.在 Vue2.0 中,代码复用和抽象的主要形式是组件。

2.3层:指令 ==》钩子函数(某个时间点,bind,inserted,unbind) ==》钩子的参数(el,binding)

参考链接:https://www.jianshu.com/p/4f0142d737a0

官方参考链接:https://cn.vuejs.org/v2/guide/custom-directive.html

Vue自定义指令实现下拉加载:v-loadmore的更多相关文章

  1. vue实现ajax滚动下拉加载,同时具有loading效果

    <!doctype html> <html> <head> <meta charset="utf-8"> <title> ...

  2. 【转载】Vue自定义指令实现pc端加载更多

    转载来源:https://www.86886.wang/detail/5a6f19e644f9da55274c3bbd,谢谢作者分享! 原理 document.documentElement.scro ...

  3. vue之vant组件下拉加载更多

    vant地址:https://youzan.github.io/vant/#/zh-CN/intro 基础用法 List 组件通过loading和finished两个变量控制加载状态,当组件滚动到底部 ...

  4. Android中自定义ListView实现上拉加载更多和下拉刷新

    ListView是Android中一个功能强大而且很常用的控件,在很多App中都有ListView的下拉刷新数据和上拉加载更多这个功能.这里我就简单记录一下实现过程. 实现这个功能的方法不止一个,Gi ...

  5. vue使用vant-ui实现上拉加载、下拉刷新和返回顶部

    vue使用vant-ui实现上拉加载.下拉刷新和返回顶部 vue现在在移动端常用的ui库有vant-ui和mint-ui,上拉加载.下拉刷新和返回顶部也是移动端最基础最常见的功能.下面就用vant-u ...

  6. 使用谷歌提供的SwipeRefreshLayout下拉控件,并自定义实现下拉加载的功能

    package com.loaderman.swiperefreshdemo; import android.os.Bundle; import android.os.Handler; import ...

  7. MUI - 上拉刷新/下拉加载

    新闻信息列表必备的功能,支持Table,Ul等列表. 以下是DIV版本,在安卓端或者ios端必须使用双webview模式,传送门:http://dev.dcloud.net.cn/mui/pulldo ...

  8. ASP.NET仿新浪微博下拉加载更多数据瀑布流效果

    闲来无事,琢磨着写点东西.貌似页面下拉加载数据,瀑布流的效果很火,各个网站都能见到各式各样的展示效果,原理大同小异.于是乎,决定自己写一写这个效果,希望能给比我还菜的菜鸟们一点参考价值. 在开始之前, ...

  9. vue实现pc端上拉加载功能,不兼容移动端

    所用插件:Mock.js 这个只用到它简单的功能,拦截ajax请求. vue和axios,vue基础知识请看文档. axios类似于jquery的ajax方法. 以下是是该功能所有代码,其中mock的 ...

随机推荐

  1. c# 值类型 之枚举

    1声明枚举(enum)类型的变量 enum 变量名 { //标识符列表中,元素与元素之间用 , 逗号分隔: 标识符列表 } 枚举列表中的每个符号代表一个整数值,一个比他前面符号大的整数值,默认情况下, ...

  2. Linux启动用户空间-init初始化进程

  3. NOIP 2017 小凯的疑惑(同余类)

    题意 给出两个互质的数a,b问最大的不能被xa+yb(x,y>=0)表示的数.(a,b<=109) 题解 NOIPday1T1一道数论题,不知埋葬了多少人的梦想. 用同余类去解释. 我们依 ...

  4. 删除小脚本 srm

    提示:只能删除当前路径下的目录或文件 #!/bin/bash #将测试好的脚本,拷贝到 $PATH 能够搜索到目录下.并且改名 例如: /usr/local/bin cp /test/srm.sh / ...

  5. Python学习笔记(5)--数据结构之字典dict

    字典(dict) 定义:键值对集合 初始化:{}, {'1' : 'abc', '2' : 'def'} 1.增加:单个数据直接赋值  update(dict2) ---把dict2的元素加入到dic ...

  6. Entity Framework之Code First开发方式

    一.Code First Code First方式只需要代码,不需要Edmx模型.EF通过实体类型结构推断生成SQL并创建数据库中的表.开发人员只需要编写实体类就可以进行EF数据库的开发. Code ...

  7. Magento--修改已存在的订单的运费

    遇到一种情况,需要在下单后再由管理员添加订单运费,然后顾客再付款.那么问题来了,如何给订单添加运费呢?下面是一段代码,可以实现该功能: $orderId = 'your order id';$orde ...

  8. BZOJ 1503 treap

    思路: treap (算是基本操作吧-..) 加减的操作数很少 就暴力好啦 每回判断一下最小的数是不是比M小 如果是 就删,继续判断 搞定. //By SiriusRen #include <c ...

  9. 回顾Abstract和Virtual的用法

    今天坐班车的时候,突然就想起来这俩个货了:仔细缕缕,居然越缕越乱较: 上代码吧: using System; using System.Collections.Generic; using Syste ...

  10. ZOJ 3175 Number of Containers 分块

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3216 乱搞的...watashi是分块做的...但我并不知道什么是分块...大 ...