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 相关文章推荐
jquery中实现标签切换效果的代码
Mar 01 Javascript
jquery与js函数冲突的两种解决方法
Sep 09 Javascript
js类式继承的具体实现方法
Dec 31 Javascript
js charAt的使用示例
Feb 18 Javascript
JavaScript中按位“异或”运算符使用介绍
Mar 14 Javascript
jQuery实现的导航下拉菜单效果示例
Sep 05 Javascript
JS数组去重(4种方法)
Mar 27 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
May 20 Javascript
react-native之ART绘图方法详解
Aug 08 Javascript
jQuery轻量级表单模型验证插件
Oct 15 jQuery
jQuery实现动态加载(按需加载)javascript文件的方法分析
May 31 jQuery
js Proxy的原理详解
May 25 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
php 操作excel文件的方法小结
2009/12/31 PHP
php网上商城购物车设计代码分享
2012/02/15 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
php无限极分类实现的两种解决方法
2013/04/28 PHP
php 常用算法和时间复杂度
2013/07/01 PHP
php中的PHP_EOL换行符详细解析
2013/10/26 PHP
php简单实现sql防注入的方法
2016/04/22 PHP
php 数组处理函数extract详解及实例代码
2016/11/23 PHP
Yii2使用表单上传文件的实例代码
2017/08/03 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
javascript中in运算符用法分析
2015/04/28 Javascript
JavaScript中循环遍历Array与Map的方法小结
2016/03/12 Javascript
jQuery Easyui学习教程之实现datagrid在没有数据时显示相关提示内容
2016/07/09 Javascript
JavaScript登录验证码的实现
2016/10/27 Javascript
Jquery给当前页或者跳转后页面的导航栏添加选中后样式的实例
2016/12/08 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
JavaScript中匿名函数的递归调用
2017/01/22 Javascript
js实现图片旋转 js滚动鼠标中间对图片放大缩小
2017/07/05 Javascript
vue-router判断页面未登录自动跳转到登录页的方法示例
2018/11/04 Javascript
vue中uni-app 实现小程序登录注册功能
2019/10/12 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
[52:31]VP vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
python开发之IDEL(Python GUI)的使用方法图文详解
2015/11/12 Python
Python Flask 搭建微信小程序后台详解
2019/05/06 Python
opencv 获取rtsp流媒体视频的实现方法
2019/08/23 Python
Python实现滑动平均(Moving Average)的例子
2019/08/24 Python
Python pip配置国内源的方法
2020/02/14 Python
iPython pylab模式启动方式
2020/04/24 Python
short s1 = 1; s1 = s1 + 1;有什么错? short s1 = 1; s1 += 1;有什么错?
2014/09/26 面试题
顶岗实习接收函
2014/01/09 职场文书
2014个人年终工作总结范文
2014/12/15 职场文书
党员证明信
2015/06/19 职场文书
入学证明
2015/06/23 职场文书
周一早安温馨问候祝福语!
2019/07/15 职场文书
Python学习之异常中的finally使用详解
2022/03/16 Python