element-loading,element-ui loading
本文主要介绍了元素如何实现装货的方法示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
目录
前言使用装货的几种方式装货指令实现指令通过指令来创建装货代码实现管理的创建装货实例装货动画其他装货使用方式编程式使用组件式使用总结
前言
互联网时代,网络"提速"日益频繁,人们打开网或软件的速度越来越快。然而在某些情况下,难免会出现需要用户等待的时候。那么,在这种情况下,美观,有趣,又实用的加载动画,不仅能够有效地减缓用户负面情绪,让用户挺留更长的时间。
使用 loading 的几种方式
使用装货的方式:
组件式
货车装载/
指令式
div v-loading=loading /div
编程式
正在加载({
文本: 加载中
})
loading 指令实现
指令
注册装货指令
app.directive(focus ,{
已安装(el,装订){},
//.其他挂钩
})
使用指令
div v-loading= is show /* * content * *//div
指令的作用:
自定义指令就是一个定义了一些Hooks的对象,这些Hooks接受绑定DOM(这里指的是div),装订参数等参数。在这些Hooks可以进行一些数字正射影像图层的操作,来复用一些公共逻辑。
管理的具体使用参考
通过指令来创建 loading
思路:
装货提示时创建一个装货组件,将它的数字正射影像图插入到文档中。关闭装货时,将装货对应的数字正射影像图从文档中移除。来看下流程
代码实现
查看元素源码包/装载/src/指令
directive
常量加载={
已安装(el,装订){
如果(!binding.value){
createInstance(el,binding) //创建装货组件并插入到文档中
}
},
已更新(el,绑定){
const instance=el.instance //以创建的组件实例
if (binding.oldValue!==binding.value) {
if(binding.value) { //value从假-真时触发
创建实例(el,绑定)
}否则{
instance.close() //移除装货组件挂载的数字正射影像图
}
}
},
未安装(el) {
埃尔?实例?close() //移除装货组件挂载的数字正射影像图
},
}
创建 loading 实例
创建一个副本重置记录创建装货实例
const createInstance=(el,binding)={
//通过绑定数字正射影像图的自定义属性来设置装货的相关参数
const textExr=El。get attribute( element-loading-text )
常量微调器exr=El。获取属性(“元素-加载-微调器”)
常量背景exr=El。getattribute(“元素-加载-背景")
const customClassExr=El。获取属性(“element-loading-custom-class”)
const vm=binding.instance
el.instance=Loading({
text: vm vm[textExr] textExr,
spinner:VM VM[spinner exr] spinner exr,
后台:VM VM[后台exr] 后台exr,
自定义类:VM VM[customClassExr] customClassExr,
全屏:绑定。修饰符。全屏,
目标:绑定。修饰符。全屏?null : el,
正文:绑定。修饰符。主体,
可见:真实,
锁定:binding.modifiers.lock,
})
}
装货
const Loading=function(options:ILoadingOptions={ }):ILoadingInstance {
//覆盖默认配置
选项={
.默认值,
.选项,
}
//支持选择器
if(选项类型。target=== string ){
选项。目标=文档。查询选择器(选项。目标)作为接口
}
//或者直接传递一个数字正射影像图
选项。目标=选项。目标 文档。身体
//正在加载插入的父元素
const parent=options.body?文档。正文:选项。目标
options.parent=parent
//正在加载组件
const instance=createLoadingComponent({
选项,
globalLoadingOption,
})
//正在加载插入到父元素中
parent.appendChild(实例100万美元)
//返回装货实例
返回实例
}
createLoadingComponent
导出函数createLoadingComponent({
选项,
globalLoadingOption,
}:ILoadingCreateComponentParams):ILoadingInstance {
设vm: VNode=null
常数数据=反应({
.选项,
visible: false,//控制装货是否展示
})
函数setText(text: string) {
data.text=文本
}
函数close(){
data.visible=false
}
const componentSetupConfig={
.toRefs(数据),
setText,
关闭,
handleAfterLeave,
}
//正在加载组件
const elLoadingComponent={
名称:"加载",
setup() {
返回组件设置配置
},
render() {
返回h(转换,{
名称:“el-loading-fade”,
}, {
//带方向使用指令
默认值:witchtx(()=[with指令(createVNode( div ,{
//.装货动画
//虚拟展示指令,使用看得见的作为控制变量
}),[[vShow,this.visible]]),
})
}
}
VM=createVNode(elLoadingComponent)
//将虚拟节点补丁挂载到指定容器上,vnode转换为真正的数字正射影像图
render(vm,document.createElement(div ))
返回{
.componentSetupConfig,
vm,
get $el() {
将虚拟现实作为接口返回
},
}
}
loading 动画
加载组件的装货组件是通过svg css动画实现的。
SVG class= loading version= 1.1 xmlns= http://www .w3。org/2000/SVG width= 50 height= 50
circle class= circle CX= 25 cy= 25 r= 20 fill= none stroke-width= 2 stroke= # 000 /
/svg
涉及笔画-仪表板阵列设置点划线实虚线的间距,以及笔画-虚线偏移设置起始位置,具体代码查看下面的演示代码。
加载代码笔
其他 loading 使用方式
编程式使用
编程式调用和指令,他们的核心逻辑是相同的,
指令需要通过绑定数字正射影像图上自定义属性或者指令参数拿到装货的参数,并在对应的钩住中调用创建装货动画编程式调用时候,这些参数就可以直接传递给创建装货组件的函数。
组件式使用
定义的加载组件通过小道具来控制装货的展示。
总结
主要分析了如何通过某视频剪辑软件指令实现装货的复用。包括了如何使用装货的三种方式,其中核心的逻辑是相同的渲染装货组件,我们可以通过组件、编程式、指令将装货组件的数字正射影像图插入到我们指定的挂载元素上。
到此这篇关于元素如何实现装货的方法示例的文章就介绍到这了,更多相关元素加载内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。