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 相关文章推荐
只需20行代码就可以写出CSS覆盖率测试脚本
Apr 24 Javascript
jquery实现checkbox全选全不选的简单实例
Dec 31 Javascript
jquery中获得元素尺寸和坐标的方法整理
May 18 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
May 29 Javascript
jQuery中wrapInner()方法用法实例
Jan 16 Javascript
JavaScript实现计算字符串中出现次数最多的字符和出现的次数
Mar 12 Javascript
D3.js中data(), enter() 和 exit()的问题详解
Aug 17 Javascript
Backbone View 之间通信的三种方式
Aug 09 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的三大方法
Jan 22 Javascript
关于Promise 异步编程的实例讲解
Sep 01 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
Sep 03 Javascript
vue+webpack dev本地调试全局样式引用失效的解决方案
Nov 12 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数据结构与算法(PHP描述) 查找与二分法查找
2012/06/21 PHP
php使用GD2绘制几何图形示例
2017/02/15 PHP
Aster vs Newbee BO3 第二场2.18
2021/03/10 DOTA
jquery异步循环获取功能实现代码
2010/09/19 Javascript
13 个JavaScript 性能提升技巧分享
2012/07/26 Javascript
javascript setTimeout和setInterval计时的区别详解
2013/06/21 Javascript
JS命名空间的另一种实现
2013/08/09 Javascript
Javascript学习笔记之 函数篇(三) : 闭包和引用
2014/11/23 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
使用JQuery FancyBox插件实现图片展示特效
2015/11/16 Javascript
jquery分页插件jquery.pagination.js使用方法解析
2016/04/01 Javascript
原生js实现无限循环轮播图效果
2017/01/20 Javascript
Vue路由跳转问题记录详解
2017/06/15 Javascript
BootStrap Fileinput上传插件使用实例代码
2017/07/28 Javascript
JS简单实现滑动加载数据的方法示例
2017/10/18 Javascript
使用淘宝镜像cnpm安装Vue.js的图文教程
2018/05/17 Javascript
vue中如何实现后台管理系统的权限控制的方法示例
2018/09/19 Javascript
Vue路由前后端设计总结
2019/08/06 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
ES6的异步操作之promise用法和async函数的具体使用
2019/12/06 Javascript
Python+django实现文件上传
2016/01/17 Python
教你用python3根据关键词爬取百度百科的内容
2016/08/18 Python
scrapy spider的几种爬取方式实例代码
2018/01/25 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
2019/04/29 Python
细数nn.BCELoss与nn.CrossEntropyLoss的区别
2020/02/29 Python
python 串行执行和并行执行实例
2020/04/30 Python
关于Python错误重试方法总结
2021/01/03 Python
澳大利亚新奇小玩意网站:Yellow Octopus
2017/12/28 全球购物
台湾时尚彩瞳专门店:imeime
2019/08/16 全球购物
四风问题班子对照检查材料
2014/09/27 职场文书
工作汇报开头与结尾怎么写
2014/11/08 职场文书
2014年综合治理工作总结
2014/11/20 职场文书
教导主任个人总结
2015/03/03 职场文书
素质拓展训练感想
2015/08/07 职场文书
Python使用openpyxl模块处理Excel文件
2022/06/05 Python
tree shaking对打包体积优化及作用
2022/07/07 Java/Android