pdr —— 防止用户多次点击发送重复请求的工具
最简单也是最推荐的方式,只需调用 pdr.setOptions 设置好
loading 及 opacity 等参数,
当页面中由于用户点击某个按钮导致有请求发出时,pdr
会监听到请求并将按钮设为不可点击状态,同时为按钮显示加载图标或降低透明度。
调用 Vue.use(pdr) 后,将会在项目中注入
v-pdr指令,该指令接收一个对象, 对象内容支持的参数与
pdr.setOptions
一致,用于控制当前元素的具体状态。使用指令的另一个好处是不受全局参数
selectors 的限制,可作用于任何元素上。
通过 onRequest 和
onResponse,我们可以很方便地在请求发起
和结束时对请求发起元素进行任何处理,所以搭配第三方组件库用起来也是非常简单。
绝大多数情况下,我们点击元素触发的请求都是单个请求,但是有时调完一个接口接着又要
通过这个接口的数据去调下一个接口,这时候如果不做额外的处理,那么
pdr
默认会在第一个请求结束的时候就认为请求已经完成了,从而移除加载动画或
恢复透明度。
在通过 js 调用时,我们可以通过 pdr.start 和
pdr.stop 两个方法解决这个问题。
在通过 Vue 指令调用时,我们可以通过给指令传一个
fetching 属性解决这个问题。