Vue.directive()的用法和实例详解

网友投稿 311 2023-02-14


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自动获取焦点:

// 注册一个全局自定义指令 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'NKmtWjTWSQ

});

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

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

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

[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()的用法和实例详解,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,会及时回复大家的!


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:vue将时间戳转换成自定义时间格式的方法
下一篇:接口的安全性测试(接口安全性测试包括)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~