自定义指令directive

5 篇文章 0 订阅

一、在src目录下创建一个directive文件夹

  • test.ts文件存放创建的自定义指令,index.ts用于接收所有指令进行统一处理
    在这里插入图片描述

二、编写自定义指令

// test.ts文件
export default {
  // 写个自定义指令
  mounted(el: any, binding: any) {
    console.log(el, binding, "@@"); //el为绑定指令的dom,binging可以获取到指令后面绑定的数据
    const { value } = binding;
    console.log(value); 
    el.focus(); //对绑定指令的dom进行聚焦操作
  },
};

三、引入到index.ts

vue对插件的安装可以分为两种方式

方式一:直接使用函数,在main.js中调用

//index.ts文件
import test from "./test";
export default function (app: any) {
  app.directive("test", test);
}

方式二:使用对象,则必须给对象一个install属性

import test from "./test";
export default {
  install: function (app: any) {
    app.directive("test", test);
  },
};

四、引入main.ts进行注册

//main.ts文件
import directive from "./directive";
app.use(directive); //使用此方法会执行指令的函数或对象的install方法

五、指令使用

// 直接使用v-test可以获取到dom进行focus聚焦操作
 <input type="text" v-test />
//在指令后面绑定值可以在指令的binding.value中获取
 <input type="text" v-test="'测试数据'" />

六、效果展示

[外链图片转存中…(img-ydppr7Hc-1719562622682)]

  • 5
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

库库的写代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值