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中获取Radio元素值的方法
Jul 02 Javascript
关于js遍历表格的实例
Jul 10 Javascript
Js中获取frames中的元素示例代码
Jul 30 Javascript
jquery实现弹出层登录和全屏层注册特效
Aug 28 Javascript
jquery实现全选功能效果的实现代码
May 05 Javascript
再谈javascript常见错误及解决方法
Sep 16 Javascript
微信js-sdk上传与下载图片接口用法示例
Oct 12 Javascript
微信小程序开发之大转盘 仿天猫超市抽奖实例
Dec 08 Javascript
JAVA中截取字符串substring用法详解
Apr 14 Javascript
在mpvue框架中使用Vant WeappUI组件库的注意事项【推进】
Jun 09 Javascript
Typescript的三种运行方式(小结)
Sep 18 Javascript
小程序实现背景音乐播放和暂停
Jun 19 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中的一些数组排序方法分享
2012/07/20 PHP
解析PHP中intval()等int转换时的意外异常情况
2013/06/21 PHP
PHP在网页中动态生成PDF文件详细教程
2014/07/05 PHP
PHP使用glob函数遍历目录或文件夹的方法
2014/12/16 PHP
PHP搭建大文件切割分块上传功能示例
2017/01/04 PHP
Laravel实现表单提交
2017/05/07 PHP
javascript分页代码(当前页码居中)
2012/09/20 Javascript
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
JavaScript lastIndexOf方法入门实例(计算指定字符在字符串中最后一次出现的位置)
2014/10/17 Javascript
浅谈javascript属性onresize
2015/04/20 Javascript
JS随机调用指定函数的方法
2015/07/01 Javascript
Angular2从搭建环境到开发步骤详解
2016/10/17 Javascript
简单理解vue中track-by属性
2016/10/26 Javascript
javascript实现多张图片左右无缝滚动效果
2017/03/22 Javascript
ES6新特性六:promise对象实例详解
2017/04/21 Javascript
Javascript创建类和对象详解
2017/05/31 Javascript
vue.js模仿京东省市区三级联动的选择组件实例代码
2017/11/22 Javascript
小程序图片长按识别功能的实现方法
2018/08/30 Javascript
详解如何构建一个Angular6的第三方npm包
2018/09/07 Javascript
vue-cli整合vuex的时候,修改actions和mutations,实现热部署的方法
2018/09/19 Javascript
浅谈webpack+react多页面开发终极架构
2018/11/11 Javascript
vue.js 子组件无法获取父组件store值的解决方式
2019/11/08 Javascript
微信小程序后端无法保持session的原因及解决办法问题
2020/03/20 Javascript
vue 封装面包屑组件教程
2020/11/16 Javascript
在Python的Django框架中编写编译函数
2015/07/20 Python
在pytorch中查看可训练参数的例子
2019/08/18 Python
python使用多线程编写tcp客户端程序
2019/09/02 Python
Dillard’s百货官网:Dillards.com
2018/05/26 全球购物
Ego Shoes官网:英国时髦鞋类品牌
2020/10/19 全球购物
小学生自我鉴定
2013/10/12 职场文书
出纳员岗位责任制
2014/02/11 职场文书
求职教师自荐书
2014/06/19 职场文书
2019同学聚会主持词
2019/05/06 职场文书
浅谈Mysql多表连接查询的执行细节
2021/04/24 MySQL
MySQL Router的安装部署
2021/04/24 MySQL
mysql sql常用语句大全
2022/06/21 MySQL