vue自定义指令有几种方式,vue自定义命令

  vue自定义指令有几种方式,vue自定义命令

  本文主要介绍Vue.js指令自定义指令的详细说明。本文通过一个简单的案例来说明对这项技术的理解和使用。以下是详细内容,有需要的朋友可以参考一下。

  

自定义一个demo指令

  Vue自定义指令语法如下:

  Vue.directive(id,定义)

  传入两个参数,id指指令ID,definition指定义对象。其中,定义对象可以提供一些钩子函数。

  div id=应用程序

  !-输入输入框获得焦点-

  输入类型=text v-focus/

  /div

  脚本

  //注册全局自定义指令v-focus

  Vue.directive(focus ,{

  //当绑定元素插入DOM时。

  插入(el,装订){

  //焦点元素

  El . focus();

  }

  })

  /脚本

  div id=应用程序

  p v-demo:red=msg{{msg}}/p

  /div

  脚本

  //全局指令

  Vue.directive(demo ,function (el,binding) {

  Console.log(el) //p选项卡

  Console.log(binding) //输出是一个对象obj

  Console.log(指令名: binding.name)//指令名

  Console.log(指令的绑定值: binding.value)//指令的绑定值

  Console.log(字符串形式的绑定值: binding.expression) //字符串形式的绑定值

  Console.log(传递给指令的参数: binding.arg)//传递给指令的参数

  })

  var vm=new Vue({

  埃尔: #app ,

  数据:{

  味精:‘你好!’

  },

  //本地指令

  指令:{

  演示:{

  插入:函数(el) {

  console.log(el)

  }

  }

  }

  })

  /脚本

  

对象字面量

  div id=应用程序

  p v-demo= colours { { colours . text } }/p

  /div

  脚本

  Vue.directive(demo ,function (el,binding) {

  Console.log(el) //p选项卡

  Console.log(binding) //输出是一个对象obj

  console . log(binding . value)//{ color: blue ,text: hello!}

  console . log(binding . value . color)// blue

  console . log(binding . value . text)// hello!

  El . style= color: binding . value . color

  })

  var vm=new Vue({

  埃尔: #app ,

  数据:{

  颜色:{

  颜色:蓝色,

  短信:“你好!”

  }

  }

  })

  /脚本

  

生命周期钩子

  指令定义函数提供了几个钩子函数(可选):

  Bind:只调用一次。指令在第一次绑定到元素时被调用。使用这个钩子函数,您可以定义在执行绑定时执行一次的初始化操作。

  Inserted:当绑定元素插入父节点(div#app)时调用(父节点存在时可以调用,但不一定要存在于文档中)。

  更新:当绑定指令的元素(VNode- virtual node)的状态改变时触发(包括样式、内容、vue数据…)

  ComponentUpdated:指令所在组件的VNode及其子VNode都被更新和调用。

  Unbind:只调用一次,当指令与元素解除绑定时(元素从DOM中删除)。

  div id=应用程序

  p v-demo= color“{ num } }/p

  Button @click=add 添加/button

  button onclick= Unbind() Unbind/button

  /div

  脚本

  函数unbind() {

  vm。$ destroy();//使用其他方法解除绑定。

  }

  Vue.directive(demo ,{//钩子函数的五个注册指令

  Bind: function () {//1。被绑定

  //为绑定做准备。例如添加事件侦听器,或者只需要执行一次的其他复杂操作。

  console . log( 1-bind );

  },

  已插入:function () {//2。绑定到节点

  console . log(“2-inserted”);

  },

  更新:function () {//3。组件更新

  //根据获取的新值进行相应的更新。它还会为初始值调用一次。

  console.log(3 -更新);

  },

  已更新:function () {//4。组件更新已完成

  console . log( 4-component updated );

  },

  Unbind: function () {//5。解放

  //进行清洗操作。例如,移除绑定时绑定的事件侦听器。

  console . log( 5-bind );

  }

  })

  var vm=new Vue({

  埃尔: #app ,

  数据:{

  数字:10,

  颜色:红色

  },

  方法:{

  add: function () {

  this.num

  }

  }

  })

  /脚本

  初始化方法1和2,点击Add按钮触发方法3和4,点击Unbind按钮触发方法5,如下图:

  关于Vue.js指令的详细解释,本文到此结束。有关Vue.js指令的更多信息,请搜索我们以前的文章或继续浏览下面的相关文章。希望你以后能支持我们!

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

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