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 相关文章推荐
js静态方法与实例方法分析
Jul 04 Javascript
Node.js编程中客户端Session的使用详解
Jun 23 Javascript
JavaScript采用递归算法计算阶乘实例
Aug 04 Javascript
关于网页中的无缝滚动的js代码
Jun 09 Javascript
用原生js统计文本行数的简单示例
Aug 19 Javascript
js 弹出虚拟键盘修改密码的简单实例
Oct 10 Javascript
浅谈移动端之js touch事件 手势滑动事件
Nov 07 Javascript
es6 字符串String的扩展(实例讲解)
Aug 03 Javascript
js数字滑动时钟的简单实现(示例讲解)
Aug 14 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
JavaScript中的垃圾回收与内存泄漏示例详解
May 02 Javascript
react 项目中引入图片的几种方式
Jun 02 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 数组排序方法总结 推荐收藏
2010/06/30 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
Linux系统中设置多版本PHP共存配合Nginx服务器使用
2015/12/21 PHP
php实现图片上传并进行替换操作
2016/03/15 PHP
学习YUI.Ext基础第一天
2007/03/10 Javascript
在Iframe中获取父窗口中表单的值(示例代码)
2013/11/22 Javascript
js中call与apply的用法小结
2013/12/28 Javascript
JavaScript中对象property的删除方法介绍
2014/12/30 Javascript
JavaScript获取网页支持表单字符集的方法
2015/04/02 Javascript
JQuery插件Quicksand实现超炫的动画洗牌效果
2015/05/03 Javascript
Vue.js每天必学之内部响应式原理探究
2016/09/07 Javascript
AngularJS中使用three.js的实例详解
2017/07/21 Javascript
JS HTML图片显示Canvas 压缩功能
2017/07/21 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
vue watch深度监听对象实现数据联动效果
2018/08/16 Javascript
一步快速解决微信小程序中textarea层级太高遮挡其他组件
2019/03/04 Javascript
10个最受欢迎的 JavaScript框架(推荐)
2019/04/24 Javascript
详解微信小程序之一键复制到剪切板
2019/04/24 Javascript
vue 微信扫码登录(自定义样式)
2020/01/06 Javascript
vue.js iview打包上线后字体图标不显示解决办法
2020/01/20 Javascript
[00:48]完美“圣”典2016风云人物:xiao8宣传片
2016/11/30 DOTA
[07:09]DOTA2-DPC中国联赛 正赛 Ehome vs Elephant 选手采访
2021/03/11 DOTA
八大排序算法的Python实现
2021/01/28 Python
解决.ui文件生成的.py文件运行不出现界面的方法
2019/06/19 Python
Python的条件锁与事件共享详解
2019/09/12 Python
python不同版本的_new_不同点总结
2020/12/09 Python
Opencv+Python识别PCB板图片的步骤
2021/01/07 Python
python中spy++的使用超详细教程
2021/01/29 Python
css3中新增的样式使用示例附效果图
2014/08/19 HTML / CSS
为奢侈时尚带来了慈善元素:Olivela
2018/09/29 全球购物
艺术设计专业个人求职信范文
2013/12/11 职场文书
物理研修随笔感言
2014/02/14 职场文书
服装发布会策划方案
2014/05/22 职场文书
艺术节开幕词
2015/01/28 职场文书
2015年父亲节活动总结
2015/02/12 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书