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-serialize()输出序列化form表单值的方法
Dec 26 Javascript
将input file的选择的文件清空的两种解决方案
Oct 21 Javascript
JavaScript中的操作符类型转换示例总结
May 30 Javascript
JS实现添加,替换,删除节点元素的方法
Jun 30 Javascript
AngularJS基础 ng-class-odd 指令示例
Aug 01 Javascript
纯JavaScript 实现flappy bird小游戏实例代码
Sep 27 Javascript
js实现开启密码大写提示
Dec 21 Javascript
解决Layui数据表格中checkbox位置不居中的方法
Aug 15 Javascript
vue项目持久化存储数据的实现代码
Oct 01 Javascript
React如何解决fetch跨域请求时session失效问题
Nov 02 Javascript
在Layui 的表格模板中,实现layer父页面和子页面传值交互的方法
Sep 10 Javascript
微信小程序纯文本实现@功能
Apr 08 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生成静态html文件的三种方法
2013/06/18 PHP
PHP static局部静态变量和全局静态变量总结
2014/03/02 PHP
php简单图像创建入门实例
2015/06/10 PHP
PHP的RSA加密解密方法以及开发接口使用
2018/02/11 PHP
laravel 中某一字段自增、自减的例子
2019/10/11 PHP
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
js+css实现文字散开重组动画特效代码分享
2015/08/21 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
jquery $.trim()去除字符串空格的实现方法【附图例】
2016/03/30 Javascript
JS模仿手机端九宫格登录功能实现代码
2016/04/28 Javascript
JS使用onerror捕获异常示例
2016/08/03 Javascript
js遍历map javaScript遍历map的简单实现
2016/08/26 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
windows下vue.js开发环境搭建教程
2017/03/20 Javascript
全面解析jQuery中的$(window)与$(document)的用法区别
2017/08/15 jQuery
Angular2监听页面大小变化的解决方法
2017/10/09 Javascript
js实现网页同时进行多个倒计时功能
2019/02/25 Javascript
javascript自定义日期比较函数用法示例
2019/07/22 Javascript
微信小程序 flexbox layout快速实现基本布局的解决方案
2020/03/24 Javascript
SpringBoot+Vue开发之Login校验规则、实现登录和重置事件
2020/10/19 Javascript
详解tensorflow实现迁移学习实例
2018/02/10 Python
python使用folium库绘制地图点击框
2018/09/21 Python
python中如何使用insert函数
2020/01/09 Python
pycharm中导入模块错误时提示Try to run this command from the system terminal
2020/03/26 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
python调用有道智云API实现文件批量翻译
2020/10/10 Python
澳大利亚领先的时尚内衣零售商:Bras N Things
2020/07/28 全球购物
简短的公司员工自我评价分享
2013/11/13 职场文书
学校联谊活动方案
2014/02/15 职场文书
一句话工作感言
2014/03/01 职场文书
利群广告词
2014/03/20 职场文书
领导班子四风问题个人对照检查材料
2014/10/04 职场文书
元旦主持词开场白
2015/05/29 职场文书
会计实训总结范文
2015/08/03 职场文书
学生早退检讨书(范文)
2019/08/19 职场文书
pytorch DataLoader的num_workers参数与设置大小详解
2021/05/28 Python