vue-directive(自定义指令)

 

<button @click="$router.push('/login')" v-botton>directive</button>

export default {
  name: "directive",
  directives: {
    botton: {
      bind: function (el,binding,vnode) { //dom树绘制前调用  el为当前节点,binding为对象,很少用,  vnode vue对象
      },
      inserted: function (el,binding,vnode) { //绘制后 父节点存在时
      },
      unbind: function (el,binding,vnode) { //销毁时
      },
      componentUpdated:function(el,binding,vnode){ //组件更新后的状态
      },
      update:function(el,binding,vnode){ //组件更新前的状态
      }
    },
}

全局注册 在main.js

Vue.directive('directive-span',{
  bind:function(el){
    console.log(el)
    el.style.color='red'
  },
  inserted:function(el){
    console.log(el,'inserted')
    setTimeout(()=>{
      el.style.color='blue'
    },2000)
  }
})

 

posted on 2020-08-27 14:30  秃了头也不退休  阅读(796)  评论(0编辑  收藏  举报

导航