vue -- 自定义指令

除了内置指令外, 用户自定义的指令
自定义指令有全局和局部
自定义指令都是v-name的模式,如:v-focus,name是directive()方法的第一个参数
全局自定义指令

Vue.directive('focus', {
    inserted: function (el) {
      el.focus()
    }
})

局部自定义指令
局部自定义指令就是一个对象,所以自定义的指令都可以写在这里,key就是指令名,value也是个对象,挂载钩子函数
directives: {
focus: {
inserted: function (el) {
el.focus()
}
}
}
这个方法有两个参数,第一个就是自定义指令的名字,第二个参数是操作对象,这个对象里有几个钩子函数
bind:绑定指令到元素上,只执行一次
inserted:绑定了指令的元素插入到页面中展示时调用,基本上都是操作这个钩子函数
update:所有组件节点更新时调用
componentUpdated:指令所在组件的节点及其子节点全部更新完成后调用
unbind:解除指令和元素的绑定,只执行一次
钩子函数的参数有四个:
el:就会指令所绑定的DOM
binding:一个包含DOM和指令的一些信息的对象
vnode:就是编译生成的虚拟节点
oldVnode:上一个虚拟节点

posted @ 2019-04-19 16:33  不会代码的前端  阅读(827)  评论(0编辑  收藏  举报