首页前端开发HTMLVue.directive()的图文详解

Vue.directive()的图文详解

时间2024-01-23 09:05:33发布访客分类HTML浏览280
导读:收集整理的这篇文章主要介绍了Vue.directive( 的图文详解,觉得挺不错的,现在分享给大家,也给大家做个参考。这次给大家带来Vue.directive( 的图文详解,使用Vue.directive( 的注意事项有哪些,下面就是实战案...
收集整理的这篇文章主要介绍了Vue.directive()的图文详解,觉得挺不错的,现在分享给大家,也给大家做个参考。这次给大家带来Vue.directive()的图文详解,使用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: 只调用一次, 指令与元素解绑时调用。

本人菜鸟型,看官网蒙圈,然后百度Vue.directive()的实例和用法,有的很高深,有的不健全,我贴上两个简单的demo,希望对看到的朋友有帮助:

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

p id="app">
     SPAN style="WHITE-sPACE: PRe">
     /SPAN>
    input tyPE="text" v-focus/>
     /p>
     p id="app">
     input type="text" v-focus/>
    /p>
// 注册一个全局自定义指令 v-focus  Vue.directive('focus', {
   // 当绑定元素插入到 DOM 中。    inserted: function (el,binding) {
         SPAN style="WHITE-SPACE: pre">
     /SPAN>
    // 聚焦元素      SPAN style="WHITE-SPACE: pre">
     /SPAN>
    el.focus();
   }
 }
    );
 new Vue({
   el:'#app' }
    );
 // 注册一个全局自定义指令 v-focusVue.directive('focus', {
  // 当绑定元素插入到 DOM 中。  inserted: function (el,binding) {
       // 聚焦元素   el.focus();
 }
}
    );
new Vue({
  el:'#app'}
    );
    

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

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

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

style type="text/css">
   .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;
   }
     /style>
     p id="app">
       p class="one" v-Drag>
    拖拽one/p>
       p class="two" v-drag>
    拖拽two/p>
     /p>
     style type="text/css">
 .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;
 }
    /style>
    p id="app">
     p class="one" v-drag>
    拖拽one/p>
     p class="two" v-drag>
    拖拽two/p>
    /p>
[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' }
    );
    

相信看了本文案例你已经掌握了方法,更多精彩请关注其它相关文章!

推荐阅读:

使用H5做出添加禁止缩放

ionic2中怎么使用自动生成器

以上就是Vue.directive()的图文详解的详细内容,更多请关注其它相关文章!

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!

Vue.directive详解

若转载请注明出处: Vue.directive()的图文详解
本文地址: https://pptw.com/jishu/583999.html
Node.js爬取豆瓣数据实例 AjaxUpLoad.js怎样实现文件上传

游客 回复需填写必要信息