zoukankan      html  css  js  c++  java
  • Vue学习笔记-自定义指令生命周期函数

    自定义指令生命周期钩子函数   

    每个钩子函数都可以获取两个参数(除了el外,其他参数都是只读的)
    1.el: 作用该指令的DOM对象;
    2.binding:一个对象,可以获取作用指令的DOM元素
    
    /*钩子函数开始*/
    bind()         //首次加载调用一次,在这个函数内获取不到当前元素的父元素。(如果要写聚焦指令,请在inserted中写)
    例:
    Vue.directive('demo',{
      bind(el , binding){
        console.log(el.parentNode)    //null,拿不到父亲元素
      }
    })
    
    inserted()    //在bind后调用,也只会调用一次,可以在这个函数内获取当前元素父元素
    例:
    Vue.directive('demo',{
      bind(el , binding){
        console.log(el.parentNode)    //可以拿到el父亲元素
      }
    })
    
    update()     // update获取到的值时更新之前的值, update和componentUpdated可以用oldValue参数代表更新之前的值.
    例:
    Vue.directive('demo',{
      update(el , binding){
        console.log(binding.value)    //获取到的值时更新之前的值
      }
    
    })
    
    componentUpdated()  // update和componentUpdate只有在指令绑定的值发生变化调用,比如v-if的值改变,componentUpdated拿到时更新之后的值。
    例:
    Vue.directive('demo',{
      componentUpdated(el , binding){
        console.log(binding.value)    //获取到的值时更新之后的值
      }
    
    })
    
    unbind()  // 可以做一些收尾工作,比如销毁定时器。
    
    bind和inserted想触发相同的行为,可以着这么写
    例:
    Vue.directive('demo',function(el , binding){
        //行为代码
    
    })
    

      

      

  • 相关阅读:
    [svc]frp内网穿透
    [svc]caffe安装笔记
    [na]icmp重定向
    [tools]python的mkdocs模块分分钟将md搞成一个网站
    [svc]samba服务搭建
    [ci] jenkins的Timestamper插件-让日志显示时间
    [k8s]subpath解决cm覆盖目录问题
    struts2+jquery+ajax实现上传&&校验实例
    java String.split方法是用注意点(转)
    loadrunner java协议脚本要点
  • 原文地址:https://www.cnblogs.com/userGao/p/13084163.html
Copyright © 2011-2022 走看看