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 相关文章推荐
jquery 延迟执行实例介绍
Aug 20 Javascript
JS冒泡事件的快速解决方法
Dec 16 Javascript
跟我学Node.js(四)---Node.js的模块载入方式与机制
Jun 04 Javascript
js实现带有介绍的Select列表菜单实例
Aug 18 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
Aug 27 Javascript
jquery mobile界面数据刷新的实现方法
May 28 Javascript
Angular的事件和表单详解
Dec 26 Javascript
Node.JS文件系统解析实例详解
May 15 Javascript
记React connect的几种写法(小结)
Sep 18 Javascript
从零开始搭建vue移动端项目到上线的步骤
Oct 15 Javascript
js数组去重的方法总结
Jan 18 Javascript
简单了解JavaScript arguement原理及作用
May 28 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
AJAX的跨域访问-两种有效的解决方法介绍
2013/06/22 PHP
解析:php调用MsSQL存储过程使用内置RETVAL获取过程中的return值
2013/07/03 PHP
简单了解将WordPress中的工具栏移到底部的小技巧
2015/12/31 PHP
php实现文件预览功能
2017/05/23 PHP
Javascript下的keyCode键码值表
2007/04/10 Javascript
IE8 兼容性问题(属性名区分大小写)
2009/06/04 Javascript
Js 冒泡事件阻止实现代码
2013/01/27 Javascript
js设置组合快捷键/tabindex功能的方法
2013/11/21 Javascript
ff下JQuery无法监听input的keyup事件的解决方法
2013/12/12 Javascript
javascript委托(Delegate)blur和focus用法实例分析
2015/05/26 Javascript
js淡入淡出焦点图幻灯片效果代码分享
2015/09/08 Javascript
JavaScript模块规范之AMD规范和CMD规范
2015/10/27 Javascript
JavaScript过滤字符串中的中文与空格方法汇总
2016/03/07 Javascript
如何让一个json文件显示在表格里【实现代码】
2016/05/09 Javascript
jquery做个日期选择适用于手机端示例
2017/01/10 Javascript
用jQuery实现可输入多选下拉组合框实例代码
2017/01/18 Javascript
JS实现搜索关键词的智能提示功能
2017/07/07 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
解决vue组件props传值对象获取不到的问题
2019/06/06 Javascript
JavaScript设计模式--简单工厂模式定义与应用案例详解
2020/05/23 Javascript
Python时间模块datetime、time、calendar的使用方法
2016/01/13 Python
python如何读写csv数据
2018/03/21 Python
一个可以套路别人的python小程序实例代码
2019/04/09 Python
django之对FileField字段的upload_to的设定方法
2019/07/28 Python
Python利用WMI实现ping命令的例子
2019/08/14 Python
Python帮你识破双11的套路
2019/11/11 Python
2014年母亲节寄语
2014/05/07 职场文书
2014国庆节商场促销活动策划方案
2014/09/16 职场文书
纪录片信仰观后感
2015/06/08 职场文书
入党函调证明材料
2015/06/19 职场文书
比赛口号霸气押韵
2015/12/24 职场文书
2016先进集体事迹材料范文
2016/02/25 职场文书
教你怎么用Python生成九宫格照片
2021/05/20 Python
「SHOW BY ROCK!!」“雫シークレットマインド”组合单曲MV公开
2022/03/21 日漫
【海涛解说】pis亲自推荐,其实你从来不会玩NW
2022/04/01 DOTA
MySQL自定义函数及触发器
2022/08/05 MySQL