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打字小游戏代码
Dec 26 Javascript
关于JavaScript中原型继承中的一点思考
Jul 25 Javascript
编写针对IE的JS代码两种编写方法
Jan 30 Javascript
jQuery实现等比例缩放大图片让大图片自适应页面布局
Oct 16 Javascript
js实现的彩色方块飞舞奇幻效果
Jan 27 Javascript
利用JS实现简单的日期选择插件
Jan 23 Javascript
jQuery为DOM动态追加事件的方法
Feb 16 Javascript
微信小程序 弹框和模态框实现代码
Mar 10 Javascript
Vue.js 父子组件通信的十种方式
Oct 30 Javascript
使用koa2创建web项目的方法步骤
Mar 12 Javascript
Node.js实现简单的爬取的示例代码
Jun 25 Javascript
微信小程序scroll-view点击项自动居中效果的实现
Mar 25 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
PHP通用检测函数集合
2006/11/25 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
PHP获得数组交集与差集的方法
2015/06/10 PHP
thinkphp框架实现路由重定义简化url访问地址的方法分析
2020/04/04 PHP
由document.body和document.documentElement想到的
2009/04/13 Javascript
js判断元素是否隐藏的方法
2014/06/09 Javascript
javascript 事件处理示例分享
2014/12/31 Javascript
项目中常用的JS方法整理
2015/01/30 Javascript
JavaScript实现可拖拽的拖动层Div实例
2015/08/05 Javascript
深入学习jQuery Validate表单验证
2016/01/18 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
JS html时钟制作代码分享
2017/03/03 Javascript
JavaScript事件方法(实例讲解)
2017/06/27 Javascript
jQuery上传插件webupload使用方法
2017/08/01 jQuery
简单谈谈js的数据类型
2017/09/25 Javascript
微信小程序实现页面跳转传值的方法
2017/10/12 Javascript
微信小程序官方动态自定义底部tabBar的例子
2019/09/04 Javascript
解决node.js含有%百分号时发送get请求时浏览器地址自动编码的问题
2019/11/20 Javascript
Python实现发送与接收邮件的方法详解
2018/03/28 Python
使用Python微信库itchat获得好友和群组已撤回的消息
2018/06/24 Python
对Python Class之间函数的调用关系详解
2019/01/23 Python
python爬虫之验证码篇3-滑动验证码识别技术
2019/04/11 Python
wxPython实现带颜色的进度条
2019/11/19 Python
Python openpyxl模块原理及用法解析
2020/01/19 Python
Python‘==‘ 及 ‘is‘相关原理解析
2020/09/05 Python
2014年健康教育实施方案
2014/02/17 职场文书
《蚕姑娘》教学反思
2014/04/15 职场文书
感恩之星事迹材料
2014/05/03 职场文书
计算机系本科生求职信
2014/05/31 职场文书
大学考试作弊检讨书
2015/05/06 职场文书
化妆品促销活动总结
2015/05/07 职场文书
关于办理居住证的介绍信模板
2019/11/27 职场文书
Python控制台输出俄罗斯方块的方法实例
2021/04/17 Python
MySQL注入基础练习
2021/05/30 MySQL
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫