Vue中的自定义指令

什么是指令?

答: 特点:是v- 开头 ,在 vue 中提供了些对页面和数据更方便的输出方式,就是指令。实质上就是特殊的 html 标签属性。

指令的作用: 指令中封装了一些DOM行为, 结合属性作为一个行为, 行为有对应的值,根据不同的值,框架会进行相关DOM操作的绑定

自定义指令所传递的三个参数
  • el: 指令所绑定的元素,可以用来直接操作DOM。
  • binding: 一个对象,包含指令的很多信息。
  • vnode: Vue编译生成的虚拟节点。
指令的生命周期

自定义指令有五个生命周期(也叫钩子函数),分别如下:

  1. bind:只调用一次,指令第一次绑定到元素时调用。
  2. inserted:被绑定元素插入父节点时调用。
  3. update:被绑定于元素所在的模板更新时调用。
  4. componentUpdated:被绑定元素所在模板完成一次更新周期时调用。
  5. unbind:只调用一次,指令与元素解绑时调用。
bind:()=>{//被绑定
    console.log('bind');
},

inserted:()=>{//绑定到节点
    console.log('inserted');
},

update:()=>{//组件更新
    console.log('update');
},

componentUpdated:()=>{//组件更新完成
    console.log('componentUpdated');
},

unbind:()=>{//解绑
    console.log('unbind');
}
Vue3全局自定义指令:
let app = createApp(App)
app.directive('highlight', {
  beforeMount(el, binding, vnode) {
    el.style.background = binding.value
   }
})
Vue3局部自定义指令:
directives: {
highlight: {
  beforeMount(el, binding, vnode) {
     el.style.background = binding.value;
  },
},

 el:指令绑定的元素

binding:数据对象

vnode:Vue编译生成的虚拟节点

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值