如何在vue中实现自定义指令

  介绍

本篇文章给大家分享的是有关如何在vue中实现自定义指令,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

<>强自定义指令:

<强>一、属性:

Vue.directive(指令名称,函数(参数){   ,,this.el →,原生DOM元素   }); & lt; div 动=安问白4? lt;/div>

指令名称:,,,,v-red →,红色

<强> *注意:必须以v -开头

拖拽:

<强>二、自定义元素指令:(用处不大)

Vue.elementDirective (& # 39; zns-red& # 39;, {   绑定才能:函数(){   ,,,this.el.style.background=& # 39;红色# 39;;   ,,}   });

<>强自定义指令写法一:

& lt; div  id=癰ox"比;   & lt;才能span  v-red>   ,,asdfasd   & lt;才能/span>   & lt;/div> Vue.directive(& # 39;红色# 39;函数(){   this.el.style.background才能=& # 39;红色# 39;;   });   window=function () {   var 才能Vue ({vm=new    ,,,el: & # 39; #箱# 39;   ,,,数据:{   ,,,,,味精:& # 39;欢迎# 39;   ,,,}   ,,});   };

测试示例:

& lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞   & lt; head>   & lt; meta  charset=癠TF-8"祝辞   & lt; title> www.jb51.net 自定义指令写法一& lt;/title>   & lt; script  src=癶ttps://cdn.bootcss.com/vue/1.0.4/vue.min.js"祝辞& lt;/script>   & lt; script>   Vue.directive(& # 39;红色# 39;,函数(){   this.el.style.background才能=& # 39;红色# 39;;   });   window=function () {   var 才能Vue ({vm=new    ,,,el: & # 39; #箱# 39;   ,,,数据:{   ,,,,,味精:& # 39;欢迎# 39;   ,,,}   ,,});   };   & lt;/script>   & lt;/head>   & lt; body>   & lt; div  id=癰ox"祝辞   & lt;才能span  v-red>   ,,asdfasd   & lt;才能/span>   & lt;/div>   & lt;/body>   & lt;/html>

<>强自定义指令写法二:推荐写法

& lt; div  id=癰ox"比;   & lt;才能span 动=癮"比;   ,,asdfasd   & lt;才能/span>   & lt;/div> //这里的颜色可以传参   Vue.directive(& # 39;红色# 39;,函数(颜色){   this.el.style.background才能=颜色;   });   window=function () {   var 才能Vue ({vm=new    ,,,el: & # 39; #箱# 39;   ,,,数据:{   ,,,,,答:& # 39;蓝# 39;   ,,,}   ,,});   };

测试示例:

& lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞   & lt; head>   & lt; meta  charset=癠TF-8"祝辞   & lt; title> www.jb51.net 自定义指令写法二& lt;/title>   & lt; script  src=癶ttps://cdn.bootcss.com/vue/1.0.4/vue.min.js"祝辞& lt;/script>   & lt; script>//这里的颜色可以传参   Vue.directive(& # 39;红色# 39;,函数(颜色){   this.el.style.background才能=颜色;   });   window=function () {   var 才能Vue ({vm=new    ,,,el: & # 39; #箱# 39;   ,,,数据:{   ,,,,,答:& # 39;蓝# 39;   ,,,}   ,,});   };   & lt;/script>   & lt;/head>   & lt; body>   & lt; div  id=癰ox"祝辞   & lt;才能span 动=癮"比;   ,,asdfasd   & lt;才能/span>   & lt;/div>   & lt;/body>   & lt;/html>

<>强自定义指令写法三:

& lt; div  id=癰ox"比;   & lt;才能span  v-red>   ,,asdfasd   & lt;才能/span>   & lt;/div> Vue.directive(& # 39;红色# 39;,{   绑定才能:函数(){   ,,,this.el.style.background=& # 39;红色# 39;;   ,,}   });   window=function () {   var 才能Vue ({vm=new    ,,,el: & # 39; #箱# 39;   ,,});   };

<>强自定义指令:拖拽拖

& lt; ! DOCTYPE  html>   & lt; html  lang=癳n"祝辞   & lt; head>   & lt;才能meta  charset=癠TF-8"比;   & lt;才能title> www.jb51.net 自定义指令:拖拽drag   & lt;才能script  src=癶ttps://cdn.bootcss.com/vue/1.0.4/vue.min.js"祝辞& lt;/script>   & lt;才能script>   ,,,Vue.directive(& # 39;拖# 39;函数(){   ,,,,,var  oDiv=this.el;   ,,,,,oDiv.onmousedown=function (ev) {   ,,,,,,,var  disX=ev.clientX-oDiv.offsetLeft;   ,,,,,,,var  disY=ev.clientY-oDiv.offsetTop;   ,,,,,,,document.onmousemove=function (ev) {   ,,,,,,,,,var  l=ev.clientX-disX;   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null   null

如何在vue中实现自定义指令