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

吃饭去啦~~~~~~~

相关推荐
达子66625 分钟前
第26章_HarmonyOs开发图解之 设备管理
vue.js
属于自己的天空38 分钟前
每天省去重复 Prompt:我用 Skills 把 CRUD 生成标准化了
前端·后端
卡卡罗特AI38 分钟前
GitHub怎么用?零基础,保姆级使用教程-上!建议收藏
前端·后端·github
自然 醒40 分钟前
v-tooltip自定义指令封装
前端·javascript·vue.js
因_崔斯汀1 小时前
Three.js 3D 热力云图效果实现
前端·three.js
爱勇宝1 小时前
人到了一定年纪,才会看懂这些人性真相
前端·后端
梓䈑2 小时前
【用 Vibe Coding 实现的 C++17 在线判题系统】前端开发 + Web 自动化测试
前端·c++·ai编程
程序员黑豆2 小时前
鸿蒙应用开发 @BuilderParam 使用教程:实现灵活的 UI 插槽
前端·harmonyos
万少2 小时前
用 TraeWork 给小孩做一个家庭工作台
前端·人工智能·后端