VUE---自定义指令

自定义指令:自己定义的指令,可以封装一些dom操作,扩展额外功能。可分为全局注册与                        局部注册。

全局注册(main.js中注册):

Vue.directive('指令名称',{

        bind(ele,binding) {},  // 只执行一次;DOM渲染之前执行,里面可以进行样式操作

        inserted(ele,binding) {},  // 只执行一次;DOM渲染之后执行,里面可以进行行为操作                                                 --常用

        update(ele,binding) {}, // 数据更新后执行--常用

        componentUpdated(ele,binding) {}, // 父子组件都更新后执行

        unbind(ele,binding) {}, // 指令解绑的时候执行

})

 局部注册(main.js中注册):

export default {

        Vue.directive('指令名称',{

                bind(ele,binding) {},  // 只执行一次;DOM渲染之前执行,里面可以进行样式操作

                inserted(ele,binding) {},  // 只执行一次;DOM渲染之后执行,里面可以进行行                                                               为操作--常用

                update(ele,binding) {}, // 数据更新后执行--常用

                componentUpdated(ele,binding) {}, // 父子组件都更新后执行

                unbind(ele,binding) {}, // 指令解绑的时候执行

        })

}

指令值的语法:
        ① v-指令名 = "指令值" ,通过 等号 可以绑定指令的值
        ② 通过 binding.value 可以拿到指令的值
        ③ 通过 update 钩子 ,可以监听指令值的变化,进行dom更新操作

 

示例1---打开页面时,输入框自动获取焦点(全局注册,main.js)

// vue页面
<input type="text" v-focus />// main.js
Vue.directive('focus', {// 获取焦点inserted(ele, binding) {console.log(ele) // 绑定指令的元素console.log(binding) // 指令的相关信息(指令的值等)ele.focus() // 让元素获取焦点},
})

结果如下: 

控制台打印的消息如下:

示例2--改变页面字体颜色(局部注册,在页面中注册): 

// vue页面
<h3 v-color="color">需求2:Ajax请求数据,并设计loading指令</h3><script>
export default {data() {return {color: 'red',}},directives: {color: {inserted(el, binding) {el.style.color = binding.value},update(el, binding) {el.style.color = binding.value},},},
}
</script>

结果如下:

修改color变量的值后,页面字体颜色自动更新如下

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

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

相关文章

电脑录屏必备技能,让分享变得更加简单!

随着网络技术的飞速发展&#xff0c;电脑录屏已经成为日常工作和学习中不可或缺的一部分。无论是录制在线课程、游戏解说、软件教程&#xff0c;还是远程会议、演示文稿等&#xff0c;电脑录屏都有着广泛的应用。接下来&#xff0c;本文将介绍三种常见的电脑录屏方法&#xff0…

计算机网络-分层结构,协议,接口,服务

文章目录 总览为什么要分层怎样分层正式认识分层概念小结 总览 为什么要分层 发送文件前要做的准备工作很多 把这个准备工作分层小问题解决&#xff0c;也就分层解决 怎样分层 每层相互独立&#xff0c;每层做的工作不同 界面自然清晰&#xff0c;层与层之间的接口能够体现…

imgaug库图像增强指南(33):塑造【云层】效果的视觉魔法

引言 在深度学习和计算机视觉的世界里&#xff0c;数据是模型训练的基石&#xff0c;其质量与数量直接影响着模型的性能。然而&#xff0c;获取大量高质量的标注数据往往需要耗费大量的时间和资源。正因如此&#xff0c;数据增强技术应运而生&#xff0c;成为了解决这一问题的…

洗净油光脸,减少毛孔油脂,试试这款洁面乳

冬季干燥的天气总是让我们的皮肤感到不适&#xff0c;特别是对于男士来说&#xff0c;脸部的皮肤问题更是让人头痛不已。我最近发现了一款去油和保湿效果都很好的水肌美男士净爽控油洁面乳&#xff0c;很适合在冬季使用&#xff0c;缓解脸部油光、皮肤干涩的问题。 这款男士净爽…

如何本地搭建Splunk Enterprise数据平台并实现任意浏览器公网访问

文章目录 前言1. 搭建Splunk Enterprise2. windows 安装 cpolar3. 创建Splunk Enterprise公网访问地址4. 远程访问Splunk Enterprise服务5. 固定远程地址 前言 本文主要介绍如何简单几步&#xff0c;结合cpolar内网穿透工具实现随时随地在任意浏览器&#xff0c;远程访问在本地…

因子表达式完美重构 | Qlib Alpha158因子库复现 (代码+数据)

原创文章第447篇&#xff0c;专注“AI量化投资、个人成长与财富自由"。 本周星球代码计划——因子分析&#xff0c;因子挖掘&#xff1a; 1、&#xff08;因子表达式优化&#xff09;Alpha158以及world quant101部分因子实现。 2、基于lightgbm的因子筛选。 3、优秀因…

x-cmd pkg | dasel - JSON、YAML、TOML、XML、CSV 数据的查询和修改工具

目录 简介首次用户快速实验指南基本功能性能特点竞品进一步探索 简介 dasel&#xff0c;是数据&#xff08;data&#xff09;和 选择器&#xff08;selector&#xff09;的简写&#xff0c;该工具使用选择器查询和修改数据结构。 支持 JSON&#xff0c;YAML&#xff0c;TOML&…

项目流程管理效率提升的3个核心点

前言 项目流程管理效率提升的3个核心点 一、 业务层面 分支业务 ——> 整体业务 剖析: 总体来说就是个人业务能力从百分之十到百分之百的覆盖, 达到后期在团队中随时可替补其他人的业务测试, 直至最终你可以一个人独立负责整个系统的业务测试, 那么在测试团队里你的价值…

解决vue 2.6通过花生壳ddsn(内网穿透)实时开发报错Invalid Host header和websocket

请先核对自己的vue版本,我的是2.6.14,其他版本未测试 起因 这两天在维护一个基于高德显示多个目标(门店)位置的项目,由于高德要求定位必须使用https服务,遂在本地无法获取到定位坐标信息,于是就想着通过内网穿透的方式临时搭一个测试站进行实时更新开发,于是就有了今…

【Linux驱动】休眠与唤醒 | POLL机制 | 异步通知 | 阻塞与非阻塞 | 软件定时器

&#x1f431;作者&#xff1a;一只大喵咪1201 &#x1f431;专栏&#xff1a;《Linux驱动》 &#x1f525;格言&#xff1a;你只管努力&#xff0c;剩下的交给时间&#xff01; 目录 &#x1f3d3;休眠与唤醒&#x1f3f8;内核函数&#x1f3f8;驱动框架及编程 &#x1f3d3;…

Opencv中cv2.calcHist的mask的使用方法

引入 我们用来画直方图函数: cv2.calcHist([img], [0], mask, [256], [0, 256]) 有一个mask属性.我们应该如何去使用它呢,以及他的作用是什么 mask顾名思义就是一个遮罩层,我们可以选择图片上我们想要的位置进行画直方图 实际用法介绍 首先我们用一张图片来进行讲解 陶大郎的…

消息队列之王——Kafka

Zookeeper 在学习kafka之前&#xff0c;我们需要先学习Zookeeper&#xff0c;那Zookeeper是什么呢&#xff1f;Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 Zookeeper 工作机制 Zookeeper从设计模式角度来理解&#xff1a;是一个基于观…