注册一个自定义指令分为全局注册与局部注册
- 全局注册,主要是用过Vue.directive方法进行注册
 
Vue.directive('fo',{
  inserted:function(el){
    // 聚焦元素
    el.focus()
  }
})- 局部注册,在组件中设置directive属性
 
 directives: {
    //   局部自定义指令
    custom1: {
      inserted(el) {
        console.log("el", el);
        el.style.color = "#333";
      },
    },- 钩子函数
 
自定义指令的钩子函数:
- bind:只调用一次,指令第一次绑定到元素时调用。在这里可以进行一次性的初始化设置
 - inserted:被绑定元素插入父节点时调用 (仅保证父节点存在,但不一定已被插入文档中)
 - update:所在组件的 VNode 更新时调用,但是可能发生在其子 VNode更新之前。指令的值可能发生了改变,也可能没有。但是你可以通过比较更新前后的值来忽略不必要的模板更新
 - componentUpdated:指令所在组件的 VNode 及其子 VNode 全部更新后调用
 - unbind:只调用一次,指令与元素解绑时调用
 
所有钩子函数的参数都有以下:
- el:指令所绑定的元素,可以用来直接操作 DOM
 - binding:一个对象,包含以下 property:
 











