vue3自定义指令directives

闲的没事看了下之前的文章,有个vue2的自定义指令,那么就不充一个vue3的方便自己忘了的时候能看下吧。

vue3是真的方便的,script上写了setup之后下面就能省下很多东西。

main文件中直接定义全局指令:

javascript 复制代码
import { createApp } from "vue";
import App from "./App.vue";

const app = createApp(App);

app.directive("color", {
  mounted(el) {
    el.style.color = "red";
  },
});

app.mount("#app");

vue文件中

html 复制代码
<div v-color>红色</div>

局部中使用:

javascript 复制代码
<script setup>
const vColor = {
  mounted: (el) => {
    el.style.color = "red";
  },
};
</script>
html 复制代码
<div v-color>红色</div>

仔细观察还是有区别的,全局中,自定义指令名是不需要加 v 的,而局部的指令用驼峰写法前面加上 v

那么,如何像 v-model 一样传参呢,简单

javascript 复制代码
<script setup>
const vColor = {
  mounted: (el, binding) => {
    el.style.color = binding.value;
  },
};
</script>
html 复制代码
<div v-color="'red'">红色</div>

通过自定义指令后面传去参数就可以啦,注意传入的数据格式,数据在接收到要使用.value

吃饭去啦~~~~~~~

相关推荐
徐小夕@趣谈前端3 分钟前
老旧Word格式全支持!JitWord协同AI文档4.1,让Word文档无缝迁移到Web端
前端·人工智能·word
螺丝钉tina8 分钟前
[Playwright][01] 从 Puppeteer 到 Playwright:为什么选择 Playwright + TypeScript?
前端·javascript·typescript
大团米线10 分钟前
vite多环境合并打包config
javascript·vue.js·ecmascript
Sailing12 分钟前
🚀🚀【封闭结束6】Agent 会话服务与鉴权上下文
前端·人工智能·agent
程序员大阳12 分钟前
副队长JavaScript教程(57)-DOM事件机制
javascript·键盘事件·dom·鼠标·事件·绑定·冒泡
IT_陈寒20 分钟前
Java项目实战经验分享:一次由JPA懒加载引发的生产事故
前端·人工智能·后端
环境栈笔记24 分钟前
浏览器多开同步怎么做?先分清设置、登录态和窗口操作
前端·人工智能·后端·自动化
是立不是利34 分钟前
CSS 的层叠与优先级——为什么我的样式不生效
前端·css
开开心心就好35 分钟前
电脑语音实时转文字工具,会议记录很省事
运维·服务器·前端·c#·ocr·perl·1024程序员节
aixingpan1 小时前
aixingpan.cn API开发文档:api_docs_onechart_marks_secondary2接口指南
前端·php