Vue 全局loading组件实例详解

前端之家收集整理的这篇文章主要介绍了Vue 全局loading组件实例详解前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

上图不上种,菊花万人捅:

loading.js:

{ // 如果页面有loading则不继续执行 if (document.querySelector('#vue-loading')) return // 1、创建构造器,定义loading模板 let LoadingTip = Vue.extend({ template: `
` }) // 2、创建实例,挂载到文档以后的地方 let tpl = new LoadingTip().$mount().$el // 3、把创建的实例添加到body中 document.body.appendChild(tpl) // 阻止遮罩滑动 document.querySelector('#vue-loading').addEventListener('touchmove',function (e) { e.stopPropagation() e.preventDefault() }) Loading.installed = true } Vue.prototype.$loading.hide = () => { let tpl = document.querySelector('#vue-loading') document.body.removeChild(tpl) } } export default Loading

  loading.css:

Box-shadow: 1em -0.5em rgba(225,20,98,0.75),-1em 0.5em rgba(111,202,220,0.75); } 35% { width: 2.5em; Box-shadow: 0 -0.5em rgba(225,0 0.5em rgba(111,0.75); } 70% { width: 0.5em; Box-shadow: -1em -0.5em rgba(225,1em 0.5em rgba(111,0.75); } 100% { Box-shadow: 1em -0.5em rgba(225,0.75); } } @keyframes after { 0% { height: 0.5em; Box-shadow: 0.5em 1em rgba(61,184,143,-0.5em -1em rgba(233,169,32,0.75); } 35% { height: 2.5em; Box-shadow: 0.5em 0 rgba(61,-0.5em 0 rgba(233,0.75); } 70% { height: 0.5em; Box-shadow: 0.5em -1em rgba(61,-0.5em 1em rgba(233,0.75); } 100% { Box-shadow: 0.5em 1em rgba(61,0.75); } } /** * Attempt to center the whole thing! */ html,body { height: 100%; } .loader { position: absolute; top: calc(50% - 1.25em); left: calc(50% - 1.25em); }

  这样就可以直接在组件里面手动调用啦!

  调用方法this.$loading.show(),this.$loading.hide()

  因为这个项目暂时规模很小,就只有注册功能,我直接把调用写在axios请求拦截器里面,每次请求和请求结束都会调用loading,这样就不用在页面里面手动调用啦。

总结

以上所述是小编给大家介绍的Vue 全局loading组件。编程之家 jb51.cc 收集整理的教程希望能对你有所帮助,如果觉得编程之家不错,可分享给好友!感谢支持

原文链接:https://www.f2er.com/vue/32106.html

猜你在找的Vue相关文章