Vue3自定义指令
创始人
2024-01-26 20:32:12

目录

1.局部自定义指令

1.1函数简写

1.2完整生命周期写法

自定义指令的生命周期:

2.全局自定义指令

2.1简写

2.2有指令的生命周期


除了官方设定的v-if,v-for等内置指令外,我们还可以自定义指令以提升编写效率。我们主要以简写方式来定义。

1.局部自定义指令

只能在当前组件使用的指令叫局部自定义指令。

1.1函数简写

如果只需要在updated,mounted的时候执行相同的逻辑,不关心其他周期函数,则最好是简写。自定义指令的关键在于把变量类型设置为Directive;自定义指令定义的时候,那个变量必须以v开头


1.2完整生命周期写法

想要在每个自定义指令生命周期的时候有不同的逻辑,就可以写完。自定义指令的生命周期与vue3组件生命周期类似。

自定义指令的生命周期:

created:在绑定元素的 attribute 或事件监听器被应用之前调用;
beforeMount:当指令第一次绑定到元素并且在挂载父组件之前调用;
mounted:在绑定元素的父组件被挂载后调用;
beforeUpdate:在更新包含组件的 VNode 之前调用;
updated:在包含组件的 VNode 及其子组件的 VNode 更新后调用;
beforeUnmount:在卸载绑定元素的父组件之前调用;
unmounted:当指令与元素解除绑定且父组件已卸载时,只调用一次
 

这里直接演示如何定义,如何使用参考前面简写。

const vMove: Directive = { //类型设置为Directive ,名字必须以v开头
//vue3的自定义指令的钩子函数与vue组件的钩子函数写法一致mounted(el:HTMLLIElement,dir:DirectiveBinding) { //其他生命周期函数也有这几个参数,参数1:绑定指令的元素;参数2:指令的参数// dir.arg// dir.value},//其他生命周期函数.....}

2.全局自定义指令

全局自定义指令可以在任意组件使用。通过在main.js文件中挂载在app上,实现全局自定义指令

2.1简写

定义:

//main.js挂载全局指令
app.directive('focus', (el,dir)=>{  //好像自定义指令名不需要v开头了console.log('我是全局指令')
})

使用: 

 
函数简写

2.2有指令的生命周期

//挂载全局指令
app.directive('focus', {mounted(el, binding){console.log('我是全局指令') }
})

相关内容

热门资讯

埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
丹顶鹤简笔画 仙鹤怎么画好看 仙鹤,也就是丹顶鹤,是生活在沼泽或者浅水地区的一种大型禽鸟,是长寿和高雅的象征,人们心中十分喜爱的吉...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...
应用未安装解决办法 平板应用未... ---IT小技术,每天Get一个小技能!一、前言描述苹果IPad2居然不能安装怎么办?与此IPad不...
脚上的穴位图 脚面经络图对应的... 人体穴位作用图解大全更清晰直观的标注了各个人体穴位的作用,包括头部穴位图、胸部穴位图、背部穴位图、胳...
长白山自助游攻略 吉林长白山游... 昨天介绍了西坡的景点详细请看链接:一个人的旅行,据说能看到长白山天池全凭运气,您的运气如何?今日介绍...
猫咪吃了塑料袋怎么办 猫咪误食... 你知道吗?塑料袋放久了会长猫哦!要说猫咪对塑料袋的喜爱程度完完全全可以媲美纸箱家里只要一有塑料袋的响...
世界上最漂亮的人 世界上最漂亮... 此前在某网上,选出了全球265万颜值姣好的女性。从这些数量庞大的女性群体中,人们投票选出了心目中最美...
埃菲尔铁塔在哪 中国仿建埃菲尔... 2019年4月26日,广西南宁市,街头惊现一座巨型山寨版埃菲尔铁塔,高约20米,白色塔身,造型逼真,...
苗族的传统节日 贵州苗族节日有... 【岜沙苗族芦笙节】岜沙,苗语叫“分送”,距从江县城7.5公里,是世界上最崇拜树木并以树为神的枪手部落...
赛艇运动起源于哪个国家 水上巴... 学习强国之起源总结. 冬奥会上的冬季两项比赛项目起源于斯堪的纳维亚半岛,由远古时代的【】演变而来。A...
北京的名胜古迹 北京最著名的景... 北京从元代开始,逐渐走上帝国首都的道路,先是成为大辽朝五大首都之一的南京城,随着金灭辽,金代从海陵王...