vue  directive定义全局和局部指令及指令简写


Posted in Javascript onNovember 20, 2018

directive定义全局和局部指令以及指令简写

1.使用Vue.directive()定义一个全局指令    Vue.directive('指令名称',{对象})
2.参数一:指令的名称,定义时指令前面不需要写v-
3.参数二:是一个对象,该对象中有相关的操作函数
4.在调用的时候必须写v-
5.自定义指令中的常用的3个钩子函数:
    5.1bind:
      1.指令绑定到元素上回立刻执行bind函数,只执行一次
      2.每个函数中第一个参数永远是el,表示绑定指令的元素,el参数是原生js对象
      3.通过el.focus()是无法获取焦点的,因为只有插入DOM后才生效
    5.2inserted:
      1.inserted表示一个元素,插入到DOM中会执行inserted函数,只触发一次
    5.3updated:
      1.当VNode更新的时候会执行updated,可以触发多次
6.定义一个局部指令

    测试案例步骤:

    1.首先需要在html中创建一个盒子

    2.接着需要通过实例化Vue并且通过el将盒子所对应的id进行绑定

    3.在盒子里面所对应的要自定义的标签上通过v-xxx标注

    局部定义的格式:

directives:{
      'xxx':{
       bind:function(el,binding){
        el.style.xxx = binding.value
      }
     }
   }

 7.指令函数的简写

    function等同于将代码写入bind和update里

directive:{  
    'xxx':function(el,binding){
      el.style.xxx = binding.value
    }
  }
<!DOCTYPE html>
<html>
 <head>
   <meta charset="utf-8" />
   <title></title>
   <script src="js/vue-2.4.0.js" type="text/javascript" charset="utf-8"></script>
 </head>
 <body>
   <div id="box">
     <p v-fontsize="'20px'" v-color="'green'">{{msg}}<input type="text" v-focus /></p>
     <p v-color="'red'">{{msg}}<input type="text" v-color="'red'" /></p>
   </div>
 </body>
 <script type="text/javascript">
   //使用Vue.directive()定义一个全局指令
   //1.参数一:指令的名称,定义时指令前面不需要写v-
   //2.参数二:是一个对象,该对象中有相关的操作函数
   //3.在调用的时候必须写v-
   Vue.directive('focus',{
     //1.指令绑定到元素上回立刻执行bind函数,只执行一次
     //2.每个函数中第一个参数永远是el,表示绑定指令的元素,el参数是原生js对象
     //3.通过el.focus()是无法获取焦点的,因为只有插入DOM后才生效
     bind:function(el){
       //el.focus()
     },
     //inserted表示一个元素,插入到DOM中会执行inserted函数,只触发一次
     inserted:function(el){
       el.focus()
     },
     //当VNode更新的时候会执行updated,可以触发多次
     updated:function(el){
       //el.focus()
     }
   })
   //自定义一个设置字体颜色指令
   Vue.directive('color',{
     //只要通过指令绑定给了元素,元素一定会显示在页面上
     //一般情况和样式有关的使用bind函数
     bind:function(el,binding){ //通过binding来传递值
       el.style.color = binding.value
     }
   })
   //实例化Vue
   var vm = new Vue({
     el:'#box',
     data:{
       msg:'测试:'
     },
     //定义一个局部指令
     directives:{ //自定义一个局部指令
       'color':{ //设置字体颜色
         bind:function(el,binding){
           el.style.color = binding.value
         }
       },
       //指令函数的简写:
       //function等同于将代码写入bind和update里
       'fontsize':function(el,binding){ //设置字体大小
         el.style.fontSize = parseInt(binding.value) + 'px' 
       }
     }
   })
 </script>
</html>

总结

以上所述是小编给大家介绍的vue  directive定义全局和局部指令及指令简写,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
打开新窗口关闭当前页面不弹出关闭提示js代码
Mar 18 Javascript
javascript eval(func())使用示例
Dec 05 Javascript
直接在JS里创建JSON数据然后遍历使用
Jul 25 Javascript
JQuery显示、隐藏div的几种方法简明总结
Apr 16 Javascript
javascript处理a标签超链接默认事件的方法
Jun 29 Javascript
ES6正则的扩展实例详解
Apr 25 Javascript
深入理解Webpack 中路径的配置
Jun 17 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
AngularJS实现的锚点楼层跳转功能示例
Jan 02 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
Nov 14 Javascript
JS秒杀倒计时功能完整实例【使用jQuery3.1.1】
Sep 03 jQuery
JavaScript位置参数实现原理及过程解析
Sep 14 Javascript
详解Vue.js在页面加载时执行某个方法
Nov 20 #Javascript
element vue validate验证名称重复 输入框与后台重复验证 特殊字符 字符长度 及注意事项小结【实例代码】
Nov 20 #Javascript
jQuery 同时获取多个标签的指定内容并储存为数组
Nov 20 #jQuery
一步步教你利用Docker设置Node.js
Nov 20 #Javascript
JS滚轮控制图片缩放大小和拖动的实例代码
Nov 20 #Javascript
vue中的适配px2rem示例代码
Nov 19 #Javascript
JS监听事件的叠加和移除功能
Nov 19 #Javascript
You might like
laravel自定义分页效果
2017/07/23 PHP
总结PHP代码规范、流程规范、git规范
2018/06/18 PHP
PHP+ajax实现二级联动菜单功能示例
2018/08/10 PHP
jQuery的一些注意
2006/12/06 Javascript
让ie运行js时提示允许阻止内容运行的解决方法
2010/10/24 Javascript
jQuery实现类似滑动门切换效果的层切换
2013/09/23 Javascript
纯js写的分页表格数据为json串
2014/02/18 Javascript
原生javascript实现简单的datagrid数据表格
2015/01/02 Javascript
Nodejs学习笔记之测试驱动
2015/04/16 NodeJs
使用jquery实现仿百度自动补全特效
2015/07/23 Javascript
javascript学习笔记整理(概述、变量、数据类型简介)
2015/10/25 Javascript
Bootstrap实现渐变顶部固定自适应导航栏
2020/08/27 Javascript
vue实现全选和反选功能
2017/08/31 Javascript
vue2 router 动态传参,多个参数的实例
2017/11/10 Javascript
[01:45]DOTA2新英雄“神谕者”全方位展示
2014/11/21 DOTA
python爬虫 模拟登录人人网过程解析
2019/07/31 Python
Python使用贪婪算法解决问题
2019/10/22 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
Python如何执行精确的浮点数运算
2020/07/31 Python
CSS3网格的三个新特性详解
2014/04/04 HTML / CSS
美国高端医师级美容产品电商:BeautifiedYou.com
2017/04/17 全球购物
如何将整数int转换成字串String
2014/03/21 面试题
描述JSP和Servlet的区别、共同点、各自应用的范围
2012/10/02 面试题
幼儿教师个人求职信范文
2013/09/21 职场文书
后勤副校长自我鉴定
2013/10/13 职场文书
留学推荐信写作指南
2014/01/25 职场文书
争论的故事教学反思
2014/02/06 职场文书
违反工作纪律检讨书
2014/02/15 职场文书
主办会计岗位职责
2014/03/13 职场文书
《宿建德江》教学反思
2014/04/23 职场文书
十佳党员事迹材料
2014/08/28 职场文书
领导班子四风对照检查材料
2014/09/23 职场文书
综治维稳工作汇报
2014/10/27 职场文书
见义勇为事迹材料
2014/12/24 职场文书
九年级数学教学反思
2016/02/17 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL