当前位置: 首页 > news >正文

vue3 自定义指令 directive

1、官方说明:https://cn.vuejs.org/guide/reusability/custom-directives

除了 Vue 内置的一系列指令 (比如 v-model 或 v-show) 之外,Vue 还允许你注册自定义的指令 (Custom Directives)。

我们已经介绍了两种在 Vue 中重用代码的方式:组件和组合式函数。组件是主要的构建模块,而组合式函数则侧重于有状态的逻辑。另一方面,自定义指令主要是为了重用涉及普通元素的底层 DOM 访问的逻辑。

2、案例说明:

新建文件vNameOfDirectiveTest.vue

代码:

<script setup>
const vMyDirective = {beforeMount: (el) => {// 在元素上做些操作console.log(el);el.style.color = 'red'el.style.backgroundColor = 'yellow'}
}
</script>
<template><h1 v-my-directive>This is a Heading</h1><div v-color="'red'">This text will be red.</div><input v-focus value="This is a input"></input>
</template>

说明

vMyDirective:局部指令。

v-color,v-focus:全局指令。

const app = createApp(App);
// 注册自定义指令
const color = {mounted(el, binding) {el.style.color = binding.value;},// 如果需要在更新时也更新颜色,可以添加一个 `updated` 钩子// updated(el, binding) {//   el.style.color = binding.value;// }
};app.directive("focus", {mounted(el) {el.focus();},
});// 全局注册自定义指令
app.directive('color', color);

3、注意:

<div v-color="'red'">This text will be red.</div>

这里的v-color="'red'",red一定要有二个单引号引起来,否则不生效,实测生效。

http://www.lryc.cn/news/434741.html

相关文章:

  • 为什么腾讯难以再现《黑神话:悟空》这样的游戏大作?
  • C# WPF燃气报警器记录读取串口工具
  • 【IEEE独立出版 | 往届快至会后2个月检索,刊后1个月检索】2024年第四届电子信息工程与计算机科学国际会议(EIECS 2024)
  • FPGA实现串口升级及MultiBoot(三)FPGA启动加载方式
  • Linux驱动(六):Linux2.6驱动编写之平台设备总线
  • 回溯——11.重新安排行程
  • python+pytest+request 接口自动化测试
  • 《JavaEE进阶》----10.<SpringMVC应用分层:【三层架构】>
  • 【网络】网络通信的传输方式
  • 数据仓库理论知识
  • 容易中、见刊快的6本医学期刊推荐!
  • nnunetv2系列:使用默认的预测类推理2D数据
  • 伺服电机如何计算扭矩——看这一篇就够了
  • 数据库C语言删除修改和输出
  • 插槽slot
  • 交换技术是一种在计算机网络和通信系统中广泛应用的关键技术,它主要通过交换设备(如交换机、路由器等)实现数据的转发和传输
  • 数仓建模:数仓设计中的10个陷阱
  • Vue如何将网页转换成图片或PDF并上传
  • 【引领数据分析革命】TaskWeaver框架全景解读与入门指南!
  • LabVIEW灵活集成与调试的方法
  • 网络药理学:分子对接之二:PDB数据库的使用(已知PDB ID)、PubChem数据库如果没有3D结构
  • JS获取页面中video标签视频的封面和时长
  • LLM大模型学习:AI Agent综述
  • 极米科技:走出舒适圈,推动数据架构现代化升级 | OceanBase 《DB大咖说》
  • IP学习——Fiveday
  • 格式化的硬盘能恢复数据吗?拯救数据的可能性
  • 亚信安全出席第五届国际反病毒大会 探究AI现代网络勒索治理
  • C语言从头学58——学习头文件math.h(一)
  • 前端JS常见面试题
  • 利用深度学习实现验证码识别-4-ResNet18+imagecaptcha