vue初识之自定义指令

2023-11-18

一、简介

Vue中的自定义指令是一种扩展Vue功能的方式,可以用来封装常用的DOM操作或者添加一些特殊的行为。自定义指令可以在Vue实例中全局注册或者局部注册,注册后可以在模板中使用v-指令的形式调用

二、组成

自定义指令由两个部分组成:指令定义对象和指令钩子函数。指令定义对象包含了指令的名称、绑定时的处理函数、更新时的处理函数、解绑时的处理函数等属性。指令钩子函数则是指令在不同生命周期中的回调函数,包括bind、inserted、update、componentUpdated和unbind等

三、分类

1.全局自定义指令

全局自定义指令是在Vue实例化之前定义的指令,可以在整个应用程序中使用。定义全局指令需要使用Vue.directive()方法
例如:

// 全局定义
        // 第一个参数   自定义指令的名字,定义时不加v-,使用时加v-
        // 第二个参数   对象{}
        Vue.directive('color', {

            // bind 只调用一次,指令第一次绑到元素时调用.在这里可以进行一次性的初始化设置
            // el:当前的DOM元素
            bind(el, binding) {
                // console.log(el);
                // console.log(binding);
                // el.style.color = binding.value
                el.style.color = 'red'
                el.focus()
            },
            // inserted这个元素已经渲染到界面上之后执行
            inserted(el) {
                console.log(el);
                el.focus()
            },
            // update  当元素有更新时执行
            update(el) {
                // console.log(el);
            }

        })

2.私有自定义指令

局部自定义指令是在组件内部定义的指令,只能在该组件内部使用。定义局部指令需要在组件的directives选项中定义
例如

 // 私有定义
            directives: {
                // color自定义指令名字
                color(el, binding) {
                    console.log(el);
                    console.log(binding);
                    el.focus()
                },
                focus: {
                    bind() {

                    },
                    inserted(el) {
                        el.focus()
                    },
                    update() {
                    }
                }
            }

注意:directives在书写时,是与methods,el,data平级的存在

四、总结

自定义指令可以用于操作DOM元素、监听事件、修改样式等,可以让开发者更加灵活地控制页面的行为和样式。同时,自定义指令也可以让开发者更好地理解Vue.js的运作机制,深入了解Vue.js的核心思想和原理

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

vue初识之自定义指令 的相关文章

  • 如何让 Google Apps 脚本进行 SHA-256 加密?

    我需要使用文本输入 1 轮 十六进制输出 SHA 256 加密来加密字符串 这应该是一个长度为 64 的字符串 我在 Google Apps 脚本文档中尝试过的每个 SHA 256 加密模块都会返回一组数字 例如 function SHA2
  • Node + now.js + 模型-视图-控制-模式

    我正在使用基于 MVC 模式 模板和 PHP 类 的论坛软件 页面如下所示 domain com index php page Test 我想使用 Node 和 now js 在一个页面 domain com index php page
  • 使用浏览器内的 JS 数值求解三角方程[关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 给定变量值s v and h 并给定一个库 例如数字 js http www numericjs com index php我怎样才能用数
  • 将图像缩略图上传到服务器,而不上传整个图像

    据我所知 我在这里问的是不可能的 但我想无论如何我都会问 以防我遗漏了什么 假设您想让用户上传 JPG 图像 并且这些图像被缩放为较小的图标 并且原始图像始终被丢弃并且不再需要 有没有什么方法可以在大多数现代浏览器中普遍使用 让用户选择硬盘
  • Javascript 自时间戳以来经过的时间

    我试图通过将其存储在变量中来 缓存 一些信息 如果 2 分钟过去了 我想获取 实时 值 调用 url 如果 2 分钟还没有过去 我想从变量中获取数据 我基本上想要的是 if time passed is less than 2 minute
  • 强制执行 show.bind

    我有一个包含数据的表 当从另一个视图触发事件时 我希望视图检查 show bind 语句 问题是该事件没有更改当前视图中的任何数据 foo html tr p canBeRemoved p tr 我正在使用 EventAggregator
  • 从对象获取数据 - 我看到数据但无法保存它们

    正如你所看到的 我是新来的 我确实尝试过搜索 但没有找到解决我问题的方法 所以这是我的问题 如果我这样做 console log grid data kendoGrid data 这在控制台中显示如下 所以我明白这一点 有一个数组和一个带有
  • 无法提取 Typescript 中的对象值

    我一直在尝试将 JavaScript Web 表单转换为 Typescript 但无法弄清楚如何处理以下内容 在 JavaScript 中有效 let fieldValues JSON parse cookieData let keys O
  • jQuery 如何通过不同的列值计算表中的行数

    如何按表列计算不同的表行 Example table thead tr th NAME th th TECHNOLOGY th tr thead tbody tr td john td td jQuery td tr tr td mark
  • 如何使用 JavaScript 播放任意 MIDI 音符?

    澄清一下 我不想生成 MIDI 文件 也不想播放 MIDI 文件 我希望即时播放 MIDI 音符 我尝试使用https github com mudcube MIDI js https github com mudcube MIDI js作
  • 根据数据更改图例颜色高图表

    我可以根据数据动态设置列的颜色 但无法弄清楚如何更改图例中的颜色 请注意 jsfiddle 最新的条形图是绿色的 但图例是蓝色的 有没有办法改变列颜色也会改变图例颜色 这是我用于列颜色的代码 jsfiddle http jsfiddle n
  • 谷歌浏览器如何启动桌面应用程序?

    我真的不知道术语 所以我将从一个例子开始 如果我点击磁力链接 Google Chrome 会询问我是否要启动 torrent 客户端 我单击 确定 chrome 启动该应用程序 该应用程序根据链接执行一些操作 现在有办法查看应用程序如何从
  • jQuery 单击附加元素不起作用

    我有一个数组 我正在从 Array 获取数据并在 jQuery Append to list 中使用它 但是当我单击列表项时 它只显示最后一个元素 var array 1 2 7 3 4 8 5 6 9 for var i 0 i lt a
  • 限制线的长度

    我正在尝试画一条代表 弹弓 的线 并且希望它具有最大拉伸长度 在 p5 中 我在位置和位置之间画了一条线 line posA x posA y posB x posB y posA 是鼠标 x 和 y posB 是画布上圆的位置 我想要做的
  • onClick 事件适用于触摸屏设备上的触摸吗?

    我用过onclick我的网站上的活动 但是 当我在谷歌浏览器的开发人员模式移动视图中打开它时 触摸使用鼠标单击的元素没有任何反应 所以我的问题是 我还必须添加吗ontouch事件连同onclick事件或 onClick 事件适用于所有触摸屏
  • Firefox 和 Chrome 为 offsetTop 提供了不同的值

    我试图相对于输入字段定位一个跨度元素 让我们称之为 工具提示跨度 为此 我将工具提示跨度和输入字段包装在另一个跨度元素中 我们称之为 包装器跨度 该元素具有position relative 然后我设置position absolute在工
  • 在 Sublime Text 下获取完整的 JS 自动补全

    我刚刚在 Windows Vista 下安装了 Sublime Text 甚至遵循了中给出的建议这个帖子 https stackoverflow com questions 10636410 modifying sublime text 2
  • $vuetify.goTo 不会在 v-card 组件内滚动

    我有一个带有 v 卡的组件 我在卡片标题区域放置了一个简单的按钮 当我单击时 我看到该方法被触发 它显示在控制台中 但是 卡片永远不会滚动 如果我输错了类名 则会收到错误 因此 goTo 似乎会执行某些操作 因为它找不到该类 没有拼写错误
  • javascript:获取带有单位的CSS prop值[重复]

    这个问题在这里已经有答案了 我的代码是这样的 image 1 position absolute top 3vw 我的尝试 http jsfiddle net z8k6t3fb 1 http jsfiddle net z8k6t3fb 1
  • 使用 Three.js 中的设备方向控件进行对象旋转

    我正在迈出使用 JavaScript 进行编码并使用 Three js 的第一步 我正在尝试 Threejs org 的这个例子 http trijs org examples misc controls deviceorientation

随机推荐

  • Java多线程知识点总结(思维导图+源码笔记)

    转自 https blog csdn net yelvgou9995 article details 107408709 多线程大家在初学的时候 对这个知识点应该有不少的疑惑的 我认为主要原因有两个 多线程在初学的时候不太好学 并且一般写项
  • Sitecore站点更新License

    一 简介 Sitecore 是一个基于ASP NET 技术的 CMS 系统 它不仅具有传统 Web CMS 的所有功能 还集成了 Marketing 营销 当然 这个功能价格不菲 的功能 可以提供一个一站式的在线营销解决方案 对于 NET
  • 深入理解数据结构——哈夫曼树

    include
  • [589]IDM下载器

    Internet Download Manager 简称 IDM 是一种将下载速度提高5倍的工具 可以恢复和安排下载 由于连接丢失 网络问题 计算机关机或意外停电等原因 全面的错误恢复和恢复功能将重新启动中断或中断的下载 简单的图形用户界面
  • 最快实现一个自己的扫地机

    作者 良知犹存 转载授权以及围观 欢迎关注微信公众号 羽林君 或者添加作者个人微信 become me 扫地机介绍 扫地机器人行业本质是技术驱动型行业 产品围绕导航系统的升级成为行业发展的主旋律 按功能划分 扫地机器人分为四大系统 即导航系
  • 【视频解读】AutoGluon背后的技术

    1 资料来源 AutoGluon背后的技术 哔哩哔哩 bilibili 也是一种Automl框架 在尽量不需要人的帮助下 对输入进行特征提取 选取适合的机器学习模型对它进行训练 大部分基于超参数搜索技术 从数十或者数百个参数中选取一个合适的
  • 判断List、Map集合是否为空的方法

    在Java中 判断集合是否为空有几种方法 以下是其中的一些 1 使用List isEmpty 方法 例如 List
  • openGL之API学习(六十三)GL_RASTERIZER_DISCARD

    glEnable GL RASTERIZER DISCARD 使用GL RASTERIZER DISCARD标志作为参数调用glEnable 函数 告诉渲染管线在transform feedback可选阶段之后和到达光栅器前抛弃所有的图元
  • 与计算机信息技术有关的课题,信息技术课题研究报告.doc

    PAGE PAGE 1 信息技术环境下教学模式和教学方法的创新研究 课题研究报告 摘要 本课题由中央电教馆与有关专家在充分论证的基础上 于2006年12月被批准为中央电化教育馆全国教育技术 十一五 专项课题 在中央电教馆组织下 课题研究得到
  • 机器学习在交通标志检测与精细分类中的应用

    导读 数据对于地图来说十分重要 没有数据 就没有地图服务 用户在使用地图服务时 不太会想到数据就像冰山一样 用户可见只是最直接 最显性的产品功能部分 而支撑显性部分所需要的根基 往往更庞大 地图数据最先是从专业采集来的 采集工具就是车 自行
  • python学习笔记2

    if语法 if True print 条件成 执 的代码1 print 条件成 执 的代码2 下 的代码没有缩进到if语句块 所以和if条件 关 print 我是 论条件是否成 都要执 的代码 if else if 条件 条件成 执 的代码
  • linux查看用户登录时间以及命令历史

    1 查看当前登录用户信息 who命令 who缺省输出包括用户名 终端类型 登陆日期以及远程主机 who var log wtmp 可以查看自从wtmp文件创建以来的每一次登陆情况 1 b 查看系统最近一次启动时间 2 H 打印每列的标题 u
  • 转载-STM32片上FLASH内存映射、页面大小、寄存器映射

    原文地址 http blog chinaunix net uid 20617446 id 3847242 html 本文以STM32F103RBT6为例介绍了片上Flash Embedded Flash 若干问题 包括Flash大小 内存映
  • LAMP框架的架构与环境配置

    1 LAMP架构的相关知识 1 1 LAMP架构的概述 LAMP架构是目前成熟的企业网站应用模式之一 指的是协同工作的一整套系统和相关软件 能够提供动态Web站点服务及其应用开发环境 LAMP是一个缩写词 具体包括Linux操作系统 Apa
  • 神经网络训练中batch的作用(从更高角度理解)

    1 什么是batch batch 翻译成汉语为批 一批一批的批 在神经网络模型训练时 比如有1000个样本 把这些样本分为10批 就是10个batch 每个批 batch 的大小为100 就是batch size 100 每次模型训练 更新
  • CPU流水线与指令乱序执行

    青蛙见了蜈蚣 好奇地问 蜈蚣大哥 我很好奇 你那么多条腿 走路的时候先迈哪一条啊 蜈蚣听后说 青蛙老弟 我一直就这么走路 从没想过先迈哪一条腿 等我想一想再回答你 蜈蚣站立了几分钟 它一边思考一边向前 蹒跚了几步 终于趴下去了 它对青蛙说
  • Http通用短信接口开发经验及具体开发实现

    支持所有开发语言的调用 苹果IOS操作系统和WindowsPhone手机操作系统可参考执行 一 Webservice接口 1 webservice返回集合对照表 返回值 返回值说明 问题描述 2 帐号 密码不正确 1 序列号未注册2 密码加
  • 房价预测--利用Python进行数据分析

    原文链接 https www kaggle com pmarcelino comprehensive data exploration with python notebook 在这篇文章中 我对原文的结论翻译并加入自己的一些理解 如有不当
  • OCR算法综述与编程实现

    OCR算法综述与编程实现 OCR Optical Character Recognition 光学字符识别 是一种将图像中的文字转换为可编辑文本的技术 它在许多领域中发挥着重要作用 如文档扫描 自动化数据输入和图像搜索等 本文将对几种常见的
  • vue初识之自定义指令

    目录 一 简介 二 组成 三 分类 1 全局自定义指令 2 私有自定义指令 四 总结 一 简介 Vue中的自定义指令是一种扩展Vue功能的方式 可以用来封装常用的DOM操作或者添加一些特殊的行为 自定义指令可以在Vue实例中全局注册或者局部