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