网站首页 > 基础教程 正文
在后端服务调用等待时,为防止前端误操作,一般会在前端实现一个等待弹窗,今天简单实现了一个,效果如下图:
作用嘛,一个是遮罩前端页面,二是提供信息提示,告知用户正在做什么操作,用了多长时间等等。
实现方式如下:
弹窗事件跟踪器
实现一个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的拦截器上做通用的显示和终止弹窗等等。我个人水平有限,有很多地方考虑不周,大家如果有好的方案可以多多交流。
猜你喜欢
- 2024-11-14 JavaScript监听浏览器关闭及刷新事件beforeunload
- 2024-11-14 JavaScript 闭包 js中的闭包到底是什么啊
- 2024-11-14 HTML、CSS、JavaScript都能实现哪些功能?「新人必学基础」
- 2024-11-14 手把手教会你JavaScript引擎如何执行JavaScript代码
- 2024-11-14 前端 - HTML基础(1) html5前端教程
- 2024-11-14 检测元素外部点击?分享一段优质 JS 代码片段!
- 2024-11-14 web前端必会知识点:使用JQuery完成页面定时弹出广告
- 2024-11-14 快速云:JavaScript事件模型使用技巧
- 2024-11-14 Blazor Bootstrap 组件库 Toast 轻量弹窗组件介绍
- 2024-11-14 Selenium ide对弹出窗口的处理 selenium处理js弹出窗口
- 06-18单例模式谁都会,破坏单例模式听说过吗?
- 06-18Objective-c单例模式的正确写法「藏」
- 06-18单例模式介绍(单例模式都有哪些)
- 06-18前端设计-单例模式在实战中的应用技巧
- 06-18PHP之单例模式(php单例模式连接数据库)
- 06-18设计模式:单例模式及C及C++实现示例
- 06-18python的单例模式(单例 python)
- 06-18你认为最简单的单例模式,东西还挺多
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- 单例 (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)