最近一段时间,在做h5的移动端项目,UI组件库使用的vant,vant组件中的loading实在难用,无法包裹某个块进行loading,也无法对非组件的标签进行loading,所以想着自定义写个指令,挂载全局,通过v-loading的方式实现控制加载,好了,话不多说,vue3的自定义指令实现,和vue2还是有区别的,下面进入正题 首先,写个loading组件: ...
指令封装: create-loading-like-directive.js import { createApp }from'vue'import { addClass, removeClass }from'@/assets/js/dom'constrelativeCls ='g-relative'exportdefaultfunction createLoadingLikeDirective(Comp) {return{ mounted(el, binding) { console.log(el, binding)constapp =createApp(Comp) ...
1.本质 loading效果就是一个蒙层,盖在了盒子上 2.数据请求中,开启loading状态,添加蒙层 3.数据请求完毕,关闭loading状态,移除蒙层 4.实现 1.准备一个 loading类,通过伪元素定位,设置宽高,实现蒙层 2.开启关闭 loading状态(添加移除蒙层),本质只需要添加移除类即可 3.结合自定义指令的语法进行封装复用 .loadin...
Vue2.x +Vue3.x + 实战项目,一套视频教程全覆盖,用很短学习路径,从入门到实战!快速掌握企业级开发实战能力! 讲解方式: 追求最短路径讲解,章节自成闭环,每个章节配取企业化综合实战案例,让同学学以致用 课程亮点: 1. Vue2.x + Vue3.x + 实战项目,包含最新vue3语法,紧跟最新生态,一套课程全覆盖 ...
this.loading = options.loading this.error = options.error this.render(this.loading) } render() { this.el.setAttribute('src', src) } load(next) { if (this.state > State.loading) { return } this.renderSrc(next) } renderSrc(next) { ...