Vue中的自定义指令详解

文章目录

    • 自定义指令
    • 自定义指令-指令的值(给自定义指令传参数)
    • 自定义指令- v-loading指令封装

自定义指令

自定义指令:自己定义的指令,可以封装一些dom 操作,扩展额外功能(自动聚焦,自动加载,懒加载等复杂的指令封装)

  • 全局注册(可以在其他组件中使用)

    Vue.directive('指令名'{inserted(el) {//可以对el标签,扩展额外功能el.focus() //对元素的操作}
    })
    
  • 局部注册(只能在当前的组件中使用)

    directives: {指令名:{inserted(){//可以对el标签,扩展额外功能el.focus() //对元素的操作}}
    }
    
  • 页面上使用:

    <input v-指令名type="text">
    

全局注册实例:

image-20230922210202215

局部注册实例:

image-20230922210830364

自定义指令-指令的值(给自定义指令传参数)

  • 语法∶在绑定指令时,可以通过“等号”的形式为指令绑定具体的参数值

    <div v-color="color">我是内容</div>
    
  • 通过binding.value可以拿到指令值,指令值修改会触发update函数

      // 局部注册指令directives: {//指令名:指令的配置项color: {inserted(el, binding) {//binding可以接收来自指令中传过来的值el.style.color = binding.value //处理的逻辑代码}}}
    
  • 自定义指令传参数的实例:

    image-20230922212033108

注意:由于Vue是响应式的特性,自定义指令不会处理发生变化的数据,即值从‘red’变成了‘blue’,页面并不会更新,这就要用到提供的update函数了。

  1. inserted函数:提供的是元素被添加到页面中时的逻辑。
  2. update函数:指令的值被修改的时候会触发,提供的是值变化后,dom更新的逻辑。
  • update函数:

    image-20230922213153695

自定义指令- v-loading指令封装

  • 场景:实际开发过程中,发送请求需要时间,在请求的数据未回来时,页面会处于空白状态=>用户体验不好

  • 需求:封装一个v-loading指令,实现加载中的效果

  • 本质:

    1. loading效果就是一个蒙层,盖在了盒子上
    2. 数据请求中,开启loading状态,添加蒙层
    3. 数据请求完毕,关闭loading状态,移除蒙层
  • 实现:
    1. 准备一个loading类,通过伪元素定位,设置宽高,实现蒙层
    2. 开启关闭loading状态(添加移除蒙层),本质只需要添加移除类即可
    3. 结合自定义指令的语法进行封装复用

实例:

  1. 指令:

    image-20230924111700674

  2. 逻辑:

    image-20230924111912158

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88244.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

HTML5+CSS3小实例:脉冲波纹催眠动画特效

实例:脉冲波纹催眠动画特效 技术栈:HTML+CSS 效果: 源码: 【html】 <!DOCTYPE html> <html><head><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta name="viewport" content=&qu…

800G时代来临,千兆光模块万兆光模块还有用吗?

随着科技的不断进步&#xff0c;网络传输速度的需求也越来越高&#xff0c;特别是在云计算、人工智能、物联网等领域&#xff0c;对网络传输速度的要求越来越高。近年来&#xff0c;千兆光模块和万兆光模块已经成为了网络传输的主要手段&#xff0c;但随着800G时代的到来&#…

自学视觉SLAM(1)

引言 小编研究生的研究方向是视觉SLAM&#xff0c;目前在自学&#xff0c;已经学了Linux系统的基本操作&#xff0c;vim编辑器以及高翔老师的一些视屏。本篇文章为初学笔记。 文章目录 引言1 熟悉 Linux1.1 如何在 Ubuntu 中安装软件&#xff08;命令⾏界⾯&#xff09;&#x…

Python爬虫之入门保姆级教程

目录 一、分析要爬取的网站 二、导入相关库 三、相关的参数 四、向网站发出请求&#xff08;使用代理IP&#xff09; 五、匹配 六、获取图片&#xff0c;保存到文件夹中&#xff08;os库&#xff09; 七、完整代码 总结 相信许多人都曾为如何入门Python爬虫而烦恼。今天…

FastChat 大模型部署推理;Baichuan2-13B-Chat测试、chatglm2-6b测试

参考&#xff1a; https://github.com/lm-sys/FastChat https://blog.csdn.net/qq128252/article/details/132759107 ##安装 pip3 install "fschat[model_worker,webui]"模型下载&#xff1a; ##模型下载&#xff1b;huggingface下载慢&#xff0c;可以在modelscop…

安防视频平台EasyCVR视频调阅全屏播放显示异常是什么原因?

安防视频监控/视频集中存储/云存储/磁盘阵列EasyCVR平台可拓展性强、视频能力灵活、部署轻快&#xff0c;可支持的主流标准协议有国标GB28181、RTSP/Onvif、RTMP等&#xff0c;以及支持厂家私有协议与SDK接入&#xff0c;包括海康Ehome、海大宇等设备的SDK等。平台既具备传统安…

执行上下文,js、React、HTML中的this

目录 执行上下文属性&#xff1a;变量对象、this&#xff0c;作用域链 变量对象是与执行上下文相关的数据作用域&#xff0c;存储&#xff1a;变量、函数声明 执行上下文生命周期 创建&#xff1a;生成变量对象、创建函数作用域&#xff0c;建立作用域链、确定this的指向 …

经典文献阅读之--EGO-Planner(无ESDF的四旋翼局部规划器)

0. 简介 作为局部规划器而言&#xff0c;当机器人或无人机想要避开动态障碍物时。局部规划器就显得尤为重要了。其中基于梯度的规划器被广泛用于四旋翼无人机的局部规划&#xff0c;其中欧几里得符号距离场&#xff08;ESDF&#xff09;对于评估梯度幅度和方向至关重要。然而&…

ARINC825规范简介

ARINC825规范简介 机载CAN网络通用标准 ARINC825规范全称为机载CAN网络通用标准&#xff08;The General Standardization of CAN for Airborne Use&#xff09;。顾名思义&#xff0c;ARINC825规范是建立在CAN物理网络基础上的高层规范。CAN网络使用共享的双绞电缆传输数据&…

电压放大器在无损探伤中的应用研究

电压放大器是一种常见的电子设备&#xff0c;其主要作用是将低电平信号转换为高电平信号。在无损探伤中&#xff0c;电压放大器被广泛应用于信号增益和分析&#xff0c;以便更好地检测表面或内部缺陷。下面安泰电子Aigtek将详细介绍电压放大器在无损探伤中的应用研究。 电压放大…

二、vue2脚手架-组件化开发

| vue中的图片打包后会转换为base64格式 组件的使用 1.创建组件&#xff1a;component文件夹中创建HelloWorld.vue文件 2.在app.vue中引入组件 组件间的通信/传值&#xff08;常用&#xff09; 一、prop父传子 1.App.vue中的引入组件中创建需要传递的数据 2.在子组件中接…

车厂造手机旗舰版售价6899,不只是个“车钥匙”

大伙应该发现了这两年的一个奇怪现象&#xff1a;造手机的跑去造车&#xff0c;而车厂又跑来造手机。 这也好解释&#xff0c;毕竟别人碗里的更香、别人老氵…板先挑衅是吧&#xff1f; 昨日&#xff0c;蔚来在其创新科技日活动中正式发布了传闻已久的手机产品 NIO Phone 。 …

掌动智能兼容性测试有哪些优势

兼容性测试为企业带来市场竞争优势&#xff0c;并提高用户满意度。在软件开发过程中&#xff0c;将兼容性测试作为一个重要的环节&#xff0c;将为企业的成功和用户满意度打下坚实的基础。那么&#xff0c;掌动智能兼容性测试的具体优势是什么?下面&#xff0c;就来看看具体介…

mdobus ASCII转CAN OPEN JAE1939协议网关

Modbus RTU协议转换网关是一种常见的设备&#xff0c;用于将Modbus RTU协议转换为其他通信协议。而CANopen是一种基于CAN总线的通信协议&#xff0c;主要用于工业自动化和控制系统中。本文将介绍Modbus RTU协议转换网关如何支持CANopen协议&#xff0c;以及该功能的应用场景和优…

【1】ElementUI 组件实际应用===》按钮的使用

文章底部有个人公众号&#xff1a;热爱技术的小郑。主要分享开发知识、学习资料、毕业设计指导等。个人B站主页热爱技术的小郑 &#xff0c;视频内容主要是对应文章的视频讲解形式。有兴趣的可以关注一下。为何分享&#xff1f; 踩过的坑没必要让别人在再踩&#xff0c;自己复盘…

【JAVA EE】详解单点登录

作者简介 目录 1.概述 2.实现方案 2.1.分散鉴权 2.2.集中鉴权 1.概述 SSO&#xff0c;即进行一次认证&#xff0c;然后就可以访问所有子系统。很明显SSO只是一种具象化的目标而已&#xff0c;目前业内为了实现单点登录、统一鉴权&#xff0c;提出了一系列的打法。比如直接…

Unity3D C# 反射与特性的配合使用

需求分析 情况&#xff1a; 假如我们是一个动物园的管理员&#xff0c;我们需要统计园内的所有动物和动物的行为。 举例&#xff1a; 现在园区内有猫、狗和鸡。猫对应的行为是喵喵喵和卖萌&#xff0c;狗对应狗吠和干饭&#xff0c;鸡对应篮球和打鸣那么这时候我要统计这些&a…

Lyapunov optimization 李雅普诺夫优化

文章目录 正文引言Lyapunov drift for queueing networks 排队网络的Lyapunov漂移Quadratic Lyapunov functions 二次李雅普诺夫函数Bounding the Lyapunov drift 李亚普诺夫漂移的边界A basic Lyapunov drift theorem 一个基本的李雅普诺夫漂移定理 Lyapunov optimization for…

【C++】手撕string(string的模拟实现)

手撕string目录&#xff1a; 一、 Member functions 1.1 constructor 1.2 Copy constructor&#xff08;代码重构&#xff1a;传统写法和现代写法&#xff09; 1.3 operator&#xff08;代码重构&#xff1a;现代写法超级牛逼&#xff09; 1.4 destructor 二、Other mem…

【算法思想】贪心

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kuan 的首页,持续学…