当前位置:首页 > 技术文章 > 正文内容

VUE前端编程:简单实现一个通用等待弹窗

zonemu4周前 (09-19)技术文章12

在后端服务调用等待时,为防止前端误操作,一般会在前端实现一个等待弹窗,今天简单实现了一个,效果如下图:


作用嘛,一个是遮罩前端页面,二是提供信息提示,告知用户正在做什么操作,用了多长时间等等。


实现方式如下:

弹窗事件跟踪器

实现一个hander,用以跟踪和监控弹窗事件ON-PENDING,这个Handler需要在main.js中注册并和EventBus关联,代码如下图所示,


pendingHandler.eventBus=Vue.prototype.$EventBus;

Vue.prototype.$pendingHandler=pendingHandler;

let main=new Vue({

router,

store,

render: h => h(App)

}).$mount('#app')


main.$pendingHandler.startMonitor();


弹窗组件

用全局弹窗(可以参考之前我写的全局弹窗实现)封装一个弹窗组件,弹窗中实现一个计时器和一些必要的操作信息,这里我还引入了一个AntD的spin,大家可以视实际需要加入自己想要的信息。


注意,这里这个组件要跟踪OFF-PENDING实践,用以关闭弹窗,代码如下:

mounted(){

this.$EventBus.$on('OFF-PENDING',this.onClosePendingDialog);

this.start();

this.$emit('onUnenableActions');

},

beforeDestroy(){

this.$EventBus.$off('OFF-PENDING')

}


现场调用

在需要调用API时,可以进行弹窗的调用,并在回调完成时关闭弹窗。代码如下图所示:



功能反思

到这里为止,功能实现完毕了,但感觉还是有改进的空间,如在Axios的拦截器上做通用的显示和终止弹窗等等。我个人水平有限,有很多地方考虑不周,大家如果有好的方案可以多多交流。



#前端##编程##javascript##我上头条##生活中的小美好#

相关文章

一套智能停车场收费管理系统设计方案,拓扑图VISIO格式

大家好,我是薛哥。最近VIP会员群的读者咨询停车场管理系统的规划设计方案,今天分享一个模板素材,主要里面的拓扑图可以编辑的,VISIO格式,建议收藏备用。此套完整的Word方案,VIP会员下载!智能停...

适合在任何地方使用的 Linux:15 个小型 Linux 发行版

如果你有一台老旧的 PC 或超小型设备,这些 Linux 发行版中的一个应该适合你。来源:https://linux.cn/article-12281-1.html作者:David Gewirtz译者...

用IDEA开发如何用Git快速拉取指定分支代码?

1,准备空的文件夹,git init2,关联远程仓库,git remote add origin gitlab地址3,拉取远程分支代码,git pull origin 远程分支名再用IDEA打开项目即...

HTML5最新版本介绍(“html5”)

HTML5是HTML4.01和XHTML1.0之后超文本标记语言的最新版本,由一群自由思想者设计,最终实现了多媒体支持、交互性、更智能的表单和更好的语义标注。 HTML 5不只是 HTML规范的最新...

HTML5设计与制作哪家强?全省50多所高职院校齐聚中山比拼

3月22日下午,2018-2019年广东省职业院校学生专业技能大赛“HTML5交互融媒体内容设计与制作”赛项在中山火炬职业技术学院开幕。全省51所高职院校的52支参赛队伍参加此次大赛。参赛师生将于3月...

HTML5与APP的抉择(h5与app的区别)

同为当下炙手可热的技术,围绕APP和HTML5难免少不了各种争辩。而在“互联网+”时代,许多面临转型的传统企业,也在选择转型工具时,陷入了HTML5或APP的纠结抉择之中……到底该选择HTML5还是A...