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 分钟前
为什么Cocos都4.0了还有人用2.x?
前端
MomentYY9 分钟前
AI 到底是“懂”,还是在“猜”?
前端·人工智能·ai编程
鹏毓网络科技10 分钟前
Cursor Rules 文件配置实战:3 个隐藏参数让我每月少写 40% 样板代码
前端·github
没烦恼30112 分钟前
无痕模式下 HTTP\-First 拦截引发的“页面刷新”误判
前端
ZhengEnCi14 分钟前
Q02-Vue-React-index.html完全指南
vue.js·react.js·html
文心快码BaiduComate16 分钟前
从个人提效到组织提效:Comate辅助构建自我进化的AI研发系统
前端·程序员
hunterandroid1 小时前
Compose 状态管理:remember、rememberSaveable 与状态提升
前端
星栈1 小时前
Dioxus 接数据库最容易写歪的 3 个地方:sqlx + SQLite 怎么接才顺
前端·rust·前端框架
晴虹1 小时前
vue3-scroll-more:横向滚动条-元素或页签过多滚动显示处理的组件
前端·vue.js
代码搬运媛1 小时前
Claude 全栈开发专用 Rules 配置
前端