vue中如何定义及使用自定义指令,vue自定义指令两种方式

  vue中如何定义及使用自定义指令,vue自定义指令两种方式

  这篇文章主要介绍了vue。j自定义指令的基本使用详情,文章围绕主题展开详细的内容介绍,具有一定的参考价值需要的小伙伴可以参考一下

  

目录

   函数式对象式使用时的一些坑总结

  

函数式

  需求1:定义一个大v指令,和虚拟文本功能类似,但会把绑定的数值放大10倍

  div id=root

  氘当前的n值是span v-text=n/span/h2

  氘放大10倍后的n值是:span v-big=n/span/h2

  button @click=n 点我一号/按钮

  /div

  脚本类型=文本/javascript

  Vue.config.productionTip=false

  //创建某视频剪辑软件实例

  新Vue({

  el: #root ,

  数据:{

  n:1

  },

  指令:{

  /*big:function () {

  }*/

  //大函数合适会被调用?

  //1、指令与函数成功绑定时(一上来)

  //2、指令所在的模板被重新解析时

  大(元素,绑定){

  元素。innerhtml=绑定。值* 10

  }

  }

  })

  /脚本

  

对象式

  需求2:定义一个虚拟绑定指令,和v型装订功能类似,但可以让其所绑定的投入元素默认获取焦点

  div id=root

  input type= text v-bind:value= n br/

  输入类型=text v-fbind:value=nbr/

  button @click=n 点我一号/按钮

  /div

  脚本类型=文本/javascript

  Vue.config.productionTip=false

  //创建某视频剪辑软件实例

  新Vue({

  el: #root ,

  数据:{

  n:1

  },

  指令:{

  fbind:{

  绑定(元素,绑定){

  //指令与函数成功绑定时(一上来)

  控制台。日志(“bind”);

  element.value=binding.value

  },

  已插入(元素,绑定){

  //指令所在元素被插入页面时

  控制台。日志(“已插入”);

  元素。焦点()

  },

  更新(元素,绑定){

  //指令所在元素被重新解析时

  console.log("更新");

  element.value=binding.value

  }

  }

  }

  })

  /脚本

  

使用时的一些坑

  命名如果指令是多个单词:

  氘放大10倍后的n值是:span v-big-number=n/span/h2

  那么需要这样写:

  大数字:函数(元素,绑定){

  元素。innerhtml=绑定。值* 10

  }

  或者:

  大数字(元素,绑定){

  元素。innerhtml=绑定。值* 10

  }

  this

  指令:{

  fbind:{

  绑定(元素,绑定){

  //此处的这是窗户

  控制台。日志(“bind”);

  element.value=binding.value

  }

  }

  }

  全局指令:

  像过滤器一样,我们把刚才的两个指令改为全局指令

  Vue.directive(big ,function (element,binding) {

  元素。innerhtml=绑定。值* 10

  })

  Vue.directive(fbind ,{

  绑定(元素,绑定){

  element.value=binding.value

  },

  已插入(元素,绑定){

  元素。焦点()

  },

  更新(元素,绑定){

  element.value=binding.value

  }

  })

  

总结

  一、定义语法:

  (1).局部指令

  新Vue({

  指令:{

  指令名:配置对象

  }

  })

  或:

  新Vue({

  指令:{

  指令名:回调函数

  }

  })

  (2).全局指令

  Vue。指令(指令名,配置对象)或Vue。指令(指令名,回调函数)

  二、配置对象中常用的3个回调:

  (1).绑定:指令与元素成功绑定时调用(2).已插入:指令所在元素被插入页面时调用(3).更新:指令所在模板结构被重新解析时调用三、备注:

  1.定义指令时不加v-,使用时要加v-2。如果指令名多于一个单词,应该用kebab-case命名,而不是camelCase。这篇关于Vue自定义指令的基本使用细节的文章就介绍到这里。有关Vue自定义指令的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望大家以后能多多支持我们!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: