时间:2021-05-26
下面给大家介绍vue自定义指令directive,具体内容如下所示:
官网截图实例
vue除了一些核心的内部定义的指令(v-model,v-if,v-for,v-show)外,vue也允许用户注册自己的一些功能性的指令,有时候你实在是要对Dom操作,这个时候是自定义指令最合适的了。
来直接看例子:当页面加载时使得元素获得焦点(autofocus 在移动版 Safari 是不支持的),就是当页面加载好了,不做任何的操作使得表单自动获得焦点,光标自动在某个表单上代码如下:
Vue.directive('zsqfocus', { // 注册一个全局自定义指令 `v-zsqfocus`,在main.js文件里 inserted: function (el) { // 当被绑定的元素插入到 DOM 中时自动调用 el.focus() // 聚焦元素 }})如果想注册局部指令,组件中也接受一个 directives 的选项:
<script>export default { directives: { // 指令的定义 zsqfocus: { inserted: function (el) { // 获得焦点 el.focus() } } } }</script>然后你可以在模板中任何组件上使用新的 v-zsqfocus 属性,如下:
<template> <input v-zsqfocus /> //调用 </template>举了一个跟官网一样的例子,directives跟methods,mounted等是一个级别的可以同时使用。
PS:下面看下vue之自定义指令directive的实例代码,具体代码如下所示:
<template> <div> <input v-model="dir1" v-my-directive1="dir1"/> <input v-model="dir2" v-my-directive2="dir2"/> </div></template><script> export default { data(){ return { dir1:'', dir2:'' } }, directives:{ //直接绑定函数,作用等同于update,不做准备工作和扫尾工作 myDirective1(val){ console.log(val) }, myDirective2:{ bind(){ //第一次绑定到元素的准备工作 }, update(val,old){ //在绑定到元素后立即以初始值第一次调用,然后每次example2变化都会调用update console.log(val) }, unbind(){ //销毁前的清理工作 } } } }</script>总结
以上所述是小编给大家介绍的vue自定义指令directive实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
下面给大家分享vue自定义指令拖拽功能代码,具体代码如下所示:实例方法//自定义指令Vue.directive('drag',function(){varoDi
本文实例总结了vue自定义指令用法。分享给大家供大家参考,具体如下:自定义指令:一、属性:Vue.directive(指令名称,function(参数){thi
本文实例讲述了Vue自定义指令功能。分享给大家供大家参考,具体如下:自定义指令自定义指令{{num}}加一解绑functionunbind(){//vue提供的
目标使用vue2.0实现自定义弹窗指令,当标签有该指令时,点击标签可以弹出弹窗实现Document点击我弹窗哈哈哈Vue.directive('popup',{
directive定义全局和局部指令以及指令简写1.使用Vue.directive()定义一个全局指令Vue.directive('指令名称',{对象})2.参