vue自定义指令directive实例详解


Posted in Javascript onJanuary 17, 2018

下面给大家介绍vue自定义指令directive,具体内容如下所示:

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实例详解,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
分析 JavaScript 中令人困惑的变量赋值
Aug 13 Javascript
转换json格式的日期为Javascript对象的函数
Jul 13 Javascript
javascript调试过程中找不到哪里出错的可能原因
Dec 16 Javascript
jQuery中操控hidden、disable等无值属性的方法
Jan 06 Javascript
javascript常用方法总结
May 14 Javascript
javascript实现随机读取数组的方法
Aug 03 Javascript
js中获取jsp表单中radio类型的值简单实例
Aug 15 Javascript
Vue.js每天必学之构造器与生命周期
Sep 05 Javascript
javascript-解决mongoose数据查询的异步操作
Dec 22 Javascript
VueJs组件prop验证简单介绍
Sep 12 Javascript
JS实现的文件拖拽上传功能示例
May 21 Javascript
Vue自定义全局弹窗组件操作
Aug 11 Javascript
移动web开发之touch事件实例详解
Jan 17 #Javascript
详解layui弹窗父子窗口之间传参数的方法
Jan 16 #Javascript
微信小程序实现image组件图片自适应宽度比例显示的方法
Jan 16 #Javascript
基于VUE移动音乐WEBAPP跨域请求失败的解决方法
Jan 16 #Javascript
AngularJS监听ng-repeat渲染完成的两种方法
Jan 16 #Javascript
微信小程序实现流程进度的图样式功能
Jan 16 #Javascript
使用vue官方提供的模板vue-cli搭建一个helloWorld案例分析
Jan 16 #Javascript
You might like
教你如何在CI框架中使用 .htaccess 隐藏url中index.php
2014/06/09 PHP
php 利用socket发送HTTP请求(GET,POST)
2015/08/24 PHP
可输入的下拉框
2006/06/19 Javascript
通过Unicode转义序列来加密,按你说的可以算是混淆吧
2007/05/06 Javascript
JavaScript 存在陷阱 删除某一区域所有节点
2010/05/10 Javascript
javascript算法题 求任意一个1-9位不重复的N位数在该组合中的大小排列序号
2012/07/21 Javascript
js onkeypress与onkeydown 事件区别详细说明
2012/12/13 Javascript
NODE.JS加密模块CRYPTO常用方法介绍
2014/06/05 Javascript
jQuery中triggerHandler()方法用法实例
2015/01/19 Javascript
JavaScript检测实例属性, 原型属性
2015/02/04 Javascript
JavaScript 身份证号有效验证详解及实例代码
2016/10/20 Javascript
微信小程序教程系列之视图层的条件渲染(10)
2017/04/19 Javascript
微信小程序实现tab左右切换效果
2020/11/15 Javascript
javascript中的event loop事件循环详解
2018/12/14 Javascript
JSON.stringify()方法讲解
2019/01/31 Javascript
Vue使用axios引起的后台session不同操作
2020/08/14 Javascript
[50:01]Ti4 冒泡赛第二天 NEWBEE vs Titan
2014/07/15 DOTA
Python读取ini文件、操作mysql、发送邮件实例
2015/01/01 Python
Python自动连接ssh的方法
2015/03/07 Python
python使用pil库实现图片合成实例代码
2018/01/20 Python
用python实现百度翻译的示例代码
2018/03/09 Python
python实现教务管理系统
2018/03/12 Python
pandas筛选某列出现编码错误的解决方法
2018/11/07 Python
Python cv2 图像自适应灰度直方图均衡化处理方法
2018/12/07 Python
使用python 写一个静态服务(实战)
2019/06/28 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
用python写PDF转换器的实现
2020/10/29 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
Sneaker Studio捷克:购买运动鞋
2018/07/08 全球购物
Zipadee-Zip襁褓过渡毯:Sleeping Baby
2018/12/30 全球购物
送给程序员的20个Java集合面试问题
2014/08/06 面试题
中秋节超市促销方案
2014/01/30 职场文书
护士长竞聘演讲稿
2014/04/30 职场文书
小学运动会前导词
2015/07/20 职场文书
「回转企鹅罐」10周年纪念展「輪るピングドラム展」海报公开
2022/03/22 日漫