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 相关文章推荐
PNGHandler-借助JS让PNG图在IE下实现透明(包括背景图)
Aug 31 Javascript
Js获取事件对象代码
Aug 05 Javascript
19个很有用的 JavaScript库推荐
Jun 27 Javascript
AngularJS入门教程之MVC架构实例分析
Nov 01 Javascript
node文件上传功能简易实现代码
Jun 16 Javascript
通过V8源码看一个关于JS数组排序的诡异问题
Aug 14 Javascript
layui实现数据分页功能(ajax异步)
Jul 27 Javascript
转换layUI的数据表格中的日期格式方法
Sep 19 Javascript
Vue状态模式实现窗口停靠功能(灵动、自由, 管理后台Admin界面)
Mar 06 Javascript
Vue实现点击箭头上下移动效果
Jun 11 Javascript
探究一道价值25k的蚂蚁金服异步串行面试题
Aug 21 Javascript
微信小程序实现可拖动悬浮图标(包括按钮角标的实现)
Dec 29 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面向对象全攻略 (三)特殊的引用“$this”的使用
2009/09/30 PHP
thinkphp的静态缓存用法分析
2014/11/29 PHP
快速解决PHP调用Word组件DCOM权限的问题
2017/12/27 PHP
ThinkPHP5+Layui实现图片上传加预览功能
2018/08/17 PHP
用JQuery调用Session的实现代码
2010/10/29 Javascript
jQuery 幻灯片插件(带缩略图功能)
2011/01/24 Javascript
一个简单的网站访问JS计数器 刷新1次加1次访问
2012/09/20 Javascript
js 判断文件类型并控制表单提交示例代码
2013/11/14 Javascript
js限制文本框只能输入数字方法小结
2014/06/16 Javascript
使用 TypeScript 重新编写的 JavaScript 坦克大战游戏代码
2015/04/07 Javascript
jQuery解析XML文件同时动态增加js文件的方法
2015/06/01 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
详解AngularJS中ng-src指令的使用
2016/09/07 Javascript
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
微信小程序保持session会话的方法
2020/03/20 Javascript
vue 使用post/get 下载导出文件操作
2020/08/07 Javascript
Vue常用API、高级API的相关总结
2021/02/02 Vue.js
[51:30]OG vs LGD 2018国际邀请赛淘汰赛BO3 第二场 8.26
2018/08/30 DOTA
Python Web开发模板引擎优缺点总结
2014/05/06 Python
Python实现递归遍历文件夹并删除文件
2016/04/18 Python
python 容器总结整理
2017/04/04 Python
python模拟表单提交登录图书馆
2018/04/27 Python
Python实现识别图片内容的方法分析
2018/07/11 Python
tensorflow dataset.shuffle、dataset.batch、dataset.repeat顺序区别详解
2020/06/03 Python
Python调用.net动态库实现过程解析
2020/06/05 Python
Python 基于jwt实现认证机制流程解析
2020/06/22 Python
通过CSS3的object-fit来调整图片适配尺寸的技巧简介
2016/02/27 HTML / CSS
澳大利亚领先的武术用品和健身器材供应商:SMAI
2019/03/24 全球购物
车库门开启器、遥控器和零件:Chamberlain
2019/04/09 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
军训个人总结
2015/03/03 职场文书
停水通知
2015/04/16 职场文书
2015年青年志愿者工作总结
2015/05/20 职场文书
母亲节感言
2015/08/03 职场文书
Python3 类型标注支持操作
2021/06/02 Python