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 相关文章推荐
由JavaScript技术实现的web小游戏(不含网游)
Jun 12 Javascript
window.onload和$(function(){})的区别介绍
Oct 30 Javascript
Javascript 赋值机制详解
Nov 23 Javascript
JavaScript代码实现禁止右键、禁选择、禁粘贴、禁shift、禁ctrl、禁alt
Nov 17 Javascript
JavaScript ParseFloat()方法
Dec 18 Javascript
jQuery Easyui快速入门教程
Aug 21 Javascript
jQuery实现的瀑布流加载效果示例
Sep 13 Javascript
Vue.JS入门教程之列表渲染
Dec 01 Javascript
Jquery Easyui搜索框组件SearchBox使用详解(19)
Dec 17 Javascript
vue之数据交互实例代码
Jun 16 Javascript
详解Nuxt.js 实战集锦
Nov 19 Javascript
js String.prototype.trim字符去前后空格的扩展
Aug 23 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+mysql 采用ajax技术的 省 市 地 3级联动无刷新菜单 源码
2006/12/16 PHP
比较简单实用的PHP无限分类源码分享(思路不错)
2011/10/13 PHP
迁移PHP版本到PHP7
2015/02/06 PHP
php实现微信公众号无限群发
2015/10/11 PHP
javascript 跨浏览器开发经验总结(五) js 事件
2010/05/19 Javascript
JSCode all of Brower 全局屏蔽网页右键功能 具体实现
2013/06/05 Javascript
angular简介和其特点介绍
2015/01/29 Javascript
js实现点击左右按钮轮播图片效果实例
2015/01/29 Javascript
js跨浏览器的事件侦听器和事件对象的使用方法
2015/12/17 Javascript
jquery日历插件datepicker用法分析
2016/01/22 Javascript
微信小程序 PHP后端form表单提交实例详解
2017/01/12 Javascript
Bootstrap路径导航与分页学习使用
2017/02/08 Javascript
详解vue表单验证组件 v-verify-plugin
2017/04/19 Javascript
Vue中定义全局变量与常量的各种方式详解
2017/08/23 Javascript
cocos creator Touch事件应用(触控选择多个子节点的实例)
2017/09/10 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
解决低版本的浏览器不支持es6的import问题
2018/03/09 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
vue-for循环嵌套操作示例
2019/01/28 Javascript
使用vue开发移动端管理后台的注意事项
2019/03/07 Javascript
javascript实现鼠标点击生成文字特效
2019/12/24 Javascript
[01:20:38]完美世界DOTA2联赛 GXR vs IO 第一场 11.07
2020/11/09 DOTA
Python中实现参数类型检查的简单方法
2015/04/21 Python
python算法表示概念扫盲教程
2017/04/13 Python
Python编程之字符串模板(Template)用法实例分析
2017/07/22 Python
基于Django用户认证系统详解
2018/02/21 Python
Python开启线程,在函数中开线程的实例
2019/02/22 Python
HTML5 Canvas——用路径描画线条实例介绍
2013/06/09 HTML / CSS
苏宁红孩子母婴商城:redbaby
2017/02/12 全球购物
美国知名奢侈美容品牌零售商:Cos Bar
2017/04/21 全球购物
食堂标语大全
2014/06/11 职场文书
实习单位指导教师评语
2014/12/30 职场文书
材料员岗位职责
2015/02/10 职场文书
党员学习中国梦心得体会
2016/01/05 职场文书
Python绘制分类图的方法
2021/04/20 Python
Python办公自动化PPT批量转换操作
2021/09/15 Python