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的tab切换 js原理
Apr 01 Javascript
深入理解JQuery keyUp和keyDown的区别
Dec 12 Javascript
json属性名为什么要双引号(个人猜测)
Jul 31 Javascript
AngularJS中的Directive自定义一个表格
Jan 25 Javascript
JS中使用正则表达式g模式和非g模式的区别
Apr 01 Javascript
js封装成插件的步骤方法
Sep 11 Javascript
JavaScript比较同一天的时间大小实例代码
Feb 09 Javascript
vue 弹框产生的滚动穿透问题的解决
Sep 21 Javascript
react脚手架如何配置less和ant按需加载的方法步骤
Nov 28 Javascript
微信小程序 冒泡事件原理解析
Sep 27 Javascript
jQuery中event.target和this的区别详解
Aug 13 jQuery
Vue Mint UI mt-swipe的使用方式
Jun 05 Vue.js
移动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令牌 Token改进版
2008/07/18 PHP
php 智能404跳转代码,适合换域名没改变目录的网站
2010/06/04 PHP
整理的9个实用的PHP库简介和下载
2010/11/09 PHP
php模板原理讲解
2013/11/13 PHP
php递归实现无限分类的方法
2015/07/28 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP中set error handler函数用法小结
2015/11/11 PHP
JS查看对象功能代码
2008/04/25 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
利用NodeJS和PhantomJS抓取网站页面信息以及网站截图
2013/11/18 NodeJs
AngularJS ng-app 指令实例详解
2016/07/30 Javascript
js中toString()和String()区别详解
2017/03/23 Javascript
详解前后端分离之VueJS前端
2017/05/24 Javascript
JavaScript设计模式之单例模式详解
2017/06/09 Javascript
angular4实现tab栏切换的方法示例
2017/10/21 Javascript
JS插入排序简单理解与实现方法分析
2019/11/25 Javascript
Vue项目开发常见问题和解决方案总结
2020/09/11 Javascript
python使用tensorflow保存、加载和使用模型的方法
2018/01/31 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
使用Python的toolz库开始函数式编程的方法
2018/11/15 Python
Python 获取windows桌面路径的5种方法小结
2019/07/15 Python
把django中admin后台界面的英文修改为中文显示的方法
2019/07/26 Python
django模型动态修改参数,增加 filter 字段的方式
2020/03/16 Python
详解Python 最短匹配模式
2020/07/29 Python
CSS3 display知识详解
2015/11/25 HTML / CSS
Philosophy美国官网:美国美容品牌
2016/08/15 全球购物
澳大利亚最受欢迎的美发用品目的地:AMR
2019/08/28 全球购物
自我评价的写作规则
2014/01/06 职场文书
总经理司机职责
2014/02/02 职场文书
运动会开幕式邀请函
2014/02/03 职场文书
原材料检验岗位职责
2014/03/15 职场文书
喷漆工的岗位职责
2014/03/17 职场文书
超越自我演讲稿
2014/05/21 职场文书
优秀员工自荐书
2015/03/06 职场文书
用几道面试题来看JavaScript执行机制
2021/04/30 Javascript
解决Maven项目中 Invalid bound statement 无效的绑定问题
2021/06/15 Java/Android