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

吃饭去啦~~~~~~~

相关推荐
Front思1 小时前
如何学习Shopify前端开发?
前端·学习
码云骑士1 小时前
语音合成演示 - Web Speech API
前端
ZC跨境爬虫1 小时前
跟着 MDN 学CSS day_50:(传统布局方法与网格系统)
前端·css·ui·tensorflow·媒体
薛先生_0991 小时前
vue-路由模块封装
前端·javascript·vue.js
薛先生_0991 小时前
vue-router-link实现导航高亮效果
前端·javascript·vue.js
郑州光合科技余经理1 小时前
海外版外卖系统源码:支付/地图/多语言核心代码实现
android·java·前端·后端·架构·uni-app·php
古韵2 小时前
TanStack Query 被高估了?这 5 个场景它真不如 alova
前端
颂love2 小时前
Vue3基础入门
前端·学习·vue3
风吹夏回2 小时前
Vue 3 路由使用完全指南
前端·vue.js