使用Vue.directive()的注意事项有哪些

小编给大家分享一下使用Vue.directive()的注意事项有哪些,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!

创新互联是一家专业提供昭化企业网站建设,专注与网站设计、成都网站设计html5、小程序制作等业务。10年已为昭化众多企业、政府机构等服务。创新互联专业网站设计公司优惠进行中。

使用Vue.directive()的注意事项有哪些

官网实例:

https://cn.vuejs.org/v2/api/#Vue-directive

https://cn.vuejs.org/v2/guide/custom-directive.html

指令定义函数提供了几个钩子函数(可选):

bind: 只调用一次,指令第一次绑定到元素时调用,用这个钩子函数可以定义一个在绑定时执行一次的初始化动作。
inserted: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中)。

update: 被绑定元素所在的模板更新时调用,而不论绑定值是否变化。通过比较更新前后的绑定值,可以忽略不必要的模板更新(详细的钩子函数参数见下)。

componentUpdated: 被绑定元素所在模板完成一次更新周期时调用。

unbind: 只调用一次, 指令与元素解绑时调用。

两个简单的demo

1、官网给出的demo,刷新页面input自动获取焦点:

 
  

   

// 注册一个全局自定义指令 v-focus   Vue.directive('focus', {    // 当绑定元素插入到 DOM 中。     inserted: function (el,binding) {       // 聚焦元素        el.focus();    }  });  new Vue({    el:'#app'  });  // 注册一个全局自定义指令 v-focus Vue.directive('focus', {   // 当绑定元素插入到 DOM 中。   inserted: function (el,binding) {    // 聚焦元素    el.focus();  } }); new Vue({   el:'#app' });

2、一个拖拽的demo: 1)被拖拽的元素必须用position定位,才能被拖动;

2)自定义指令完成后需要实例化Vue,挂载元素;

3)inserted: 被绑定元素插入父节点时调用(父节点存在即可调用,不必存在于 document 中)。

 
  .one,.two{ 
    height:100px; 
    width:100px; 
    border:1px solid #000; 
    position: absolute; 
    -webkit-user-select: none; 
    -ms-user-select: none; 
    -moz-user-select: -moz-none; 
    cursor: pointer; 
  } 
  .two{ 
    left:200px; 
  } 
 
 
  拖拽one

    拖拽two

 

   .one,.two{  height:100px;  width:100px;  border:1px solid #000;  position: absolute;  -webkit-user-select: none;  -ms-user-select: none;  -moz-user-select: -moz-none;  cursor: pointer;  }  .two{  left:200px;  }  拖拽one

 拖拽two

[javascript] view plain copy print?Vue.directive('drag', {    inserted:function(el){      el.onmousedown=function(e){        let l=e.clientX-el.offsetLeft;        let t=e.clientY-el.offsetTop;        document.onmousemove=function(e){          el.style.left=e.clientX-l+'px';          el.style.top=e.clientY-t+'px';        };        el.onmouseup=function(){          document.onmousemove=null;          el.onmouseup=null;        }      }    }  })  new Vue({    el:'#app'  });

看完了这篇文章,相信你对“使用Vue.directive()的注意事项有哪些”有了一定的了解,如果想了解更多相关知识,欢迎关注创新互联行业资讯频道,感谢各位的阅读!


本文名称:使用Vue.directive()的注意事项有哪些
当前链接:http://pwwzsj.com/article/gegjgg.html