vue的自定义指令directive

在vue中可以在dom元素中添加一些指令如 v-for循环 ,v-on绑定事件,v-bind动态绑定类名或者属性等
在vue中也可以创建自定义指令来做一些需要操作dom的业务

// 自定义组件的实例化
Vue.directive('自定义指令的名', {
// 在自定义指令里面的几个钩子函数
 bind: function () {}, // 指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置。只触发一次
  inserted: function () {}, // 当绑定的元素插入dom中的时候会触发
  update: function () {}, // 所在组件的 VNode 更新时调用
  componentUpdated: function () {}, 指令所在组件的 VNode 及其子 VNode 全部更新后调用
  unbind: function () {}//指令与元素解绑时调用,只能触发一次
})

在这钩子函数中有几个参数
el:指的是当前绑定的元素,可以用来操作dom。
binding:只是一个对象,可以用来完成数据的交互

例子 v-my-directive:foo.b.c='3*7' 可以通过binding.属性 来获取想要的参数
(1)name:这个获取到的就是v-后面的指令名my-directive
(2)value:这个获取到的就是等号后面的值21
(3)oldValue:指令绑定的前一个值,只在 update 和 componentUpdated 钩子中可用
(4)expression:这个获取的就是等号后面的表达式3*7
(5)arg:这个获取到的参数就是:后面的foo
(6)modifiers:这个获取到的参数就式.后面的参数,是以对象的方式展现的{b:true,c:true}

vnode:Vue 编译生成的虚拟节点。
oldVnode:上一个虚拟节点,仅在 update 和 componentUpdated 钩子中可用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值