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 相关文章推荐
javascript 数组的方法集合
Jun 05 Javascript
Jquery跳到页面指定位置的方法
May 12 Javascript
js控制多图左右滚动切换效果代码分享
Aug 26 Javascript
深入理解jQuery中的事件冒泡
May 24 Javascript
JavaScript中的子窗口与父窗口的互相调用问题
Feb 08 Javascript
JavaScript省市级联下拉菜单实例
Feb 14 Javascript
Angular中$broadcast和$emit的使用方法详解
May 22 Javascript
微信小程序组件 marquee实例详解
Jun 23 Javascript
基于webpack-hot-middleware热加载相关错误的解决方法
Feb 22 Javascript
详解javascript对数组和json数组的操作
Apr 15 Javascript
D3.js 实现带伸缩时间轴拓扑图的示例代码
Jan 20 Javascript
小程序实现筛子抽奖
May 26 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
global.php
2006/12/09 PHP
某大型网络公司应聘时的笔试题目附答案
2008/03/27 PHP
使用php实现截取指定长度
2013/08/06 PHP
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
PHP中UNIX时间戳和日期间的转换与计算实例
2014/11/19 PHP
PHP5.3新特性小结
2016/02/14 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
超级兔子让浮动层消失的前因后果
2007/03/09 Javascript
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
extjs 的权限问题 要求控制的对象是 菜单,按钮,URL
2010/03/09 Javascript
js控制多图左右滚动切换效果代码分享
2015/08/26 Javascript
javascript 用函数实现继承详解
2016/05/28 Javascript
详解前端自动化工具gulp自动添加版本号
2016/12/20 Javascript
js 函数式编程学习笔记
2017/03/25 Javascript
nodejs开发微信小程序实现密码加密
2017/07/11 NodeJs
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
[52:32]完美世界DOTA2联赛PWL S2 Magma vs LBZS 第三场 11.18
2020/11/18 DOTA
Python多进程编程技术实例分析
2014/09/16 Python
Python中struct模块对字节流/二进制流的操作教程
2017/01/21 Python
python使用opencv进行人脸识别
2017/04/07 Python
python中判断文件编码的chardet(实例讲解)
2017/12/21 Python
python中的插值 scipy-interp的实现代码
2018/07/23 Python
Python 一句话生成字母表的方法
2019/01/02 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
python统计字符的个数代码实例
2020/02/07 Python
Python+Kepler.gl轻松制作酷炫路径动画的实现示例
2020/06/02 Python
俄罗斯和世界各地的酒店预订:Hotels.com俄罗斯
2016/08/19 全球购物
国际贸易专业个人求职信范文分享
2013/12/14 职场文书
缅怀先烈演讲稿
2014/09/03 职场文书
员工激励培训演讲稿
2014/09/16 职场文书
夫妻忠诚协议书范本
2014/11/17 职场文书
2015年度班主任自我评价
2015/03/11 职场文书
2016年党员公开承诺书格式范文
2016/03/24 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
个人落户申请书怎么写?
2019/06/28 职场文书
Golang 实现超大文件读取的两种方法
2021/04/27 Golang