最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue自定義指令用法經(jīng)典實例小結(jié)

 更新時間:2019年03月16日 11:08:42   作者:白楊-M  
這篇文章主要介紹了vue自定義指令用法,結(jié)合實例形式總結(jié)分析了vue自定義指令常見寫法與相關(guān)操作注意事項,需要的朋友可以參考下

本文實例總結(jié)了vue自定義指令用法。分享給大家供大家參考,具體如下:

自定義指令:

一、屬性:

Vue.directive(指令名稱,function(參數(shù)){
  this.el  -> 原生DOM元素
});

<div v-red="參數(shù)"></div>

指令名稱:     v-red  ->  red

* 注意: 必須以 v-開頭

拖拽:

二、自定義元素指令:(用處不大)

Vue.elementDirective('zns-red',{
  bind:function(){
    this.el.style.background='red';
  }
});

自定義指令寫法一:

<div id="box">
  <span v-red>
    asdfasd
  </span>
</div>

Vue.directive('red',function(){
  this.el.style.background='red';
});
window.onload=function(){
  var vm=new Vue({
    el:'#box',
    data:{
      msg:'welcome'
    }
  });
};

測試示例:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>m.fzitv.net 自定義指令寫法一</title>
<script src="https://cdn.bootcss.com/vue/1.0.4/vue.min.js"></script>
<script>
Vue.directive('red',function(){
  this.el.style.background='red';
});
window.onload=function(){
  var vm=new Vue({
    el:'#box',
    data:{
      msg:'welcome'
    }
  });
};
</script>
</head>
<body>
<div id="box">
  <span v-red>
    asdfasd
  </span>
</div>
</body>
</html>

自定義指令寫法二:推薦寫法

<div id="box">
  <span v-red="a">
    asdfasd
  </span>
</div>

//這里的color可以傳參
Vue.directive('red',function(color){
  this.el.style.background=color;
});
window.onload=function(){
  var vm=new Vue({
    el:'#box',
    data:{
      a:'blue'
    }
  });
};

測試示例:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>m.fzitv.net 自定義指令寫法二</title>
<script src="https://cdn.bootcss.com/vue/1.0.4/vue.min.js"></script>
<script>
//這里的color可以傳參
Vue.directive('red',function(color){
  this.el.style.background=color;
});
window.onload=function(){
  var vm=new Vue({
    el:'#box',
    data:{
      a:'blue'
    }
  });
};
</script>
</head>
<body>
<div id="box">
  <span v-red="a">
    asdfasd
  </span>
</div>
</body>
</html>

自定義指令寫法三:

<div id="box">
  <span v-red>
    asdfasd
  </span>
</div>
Vue.directive('red',{
  bind:function(){
    this.el.style.background='red';
  }
});
window.onload=function(){
  var vm=new Vue({
    el:'#box'
  });
};

自定義指令:拖拽drag

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>m.fzitv.net 自定義指令:拖拽drag</title>
  <script src="https://cdn.bootcss.com/vue/1.0.4/vue.min.js"></script>
  <script>
    Vue.directive('drag',function(){
      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;
          var t=ev.clientY-disY;
          oDiv.style.left=l+'px';
          oDiv.style.top=t+'px';
        };
        document.onmouseup=function(){
          document.onmousemove=null;
          document.onmouseup=null;
        };
      };
    });
    window.onload=function(){
      var vm=new Vue({
        el:'#box',
        data:{
          msg:'welcome'
        }
      });
    };
  </script>
</head>
<body>
  <div id="box">
    <div v-drag :style="{width:'100px', height:'100px', background:'blue', position:'absolute', right:0, top:0}"></div>
    <div v-drag :style="{width:'100px', height:'100px', background:'red', position:'absolute', left:0, top:0}"></div>
  </div>
</body>
</html>

自定義元素指令

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>m.fzitv.net 自定義元素指令</title>
  <style>
    zns-red{
      width:100px;
      background: gray;
      height:100px;
      display: block;
    }
  </style>
  <script src="https://cdn.bootcss.com/vue/1.0.4/vue.min.js"></script>
  <script>
    Vue.elementDirective('zns-red',{
      bind:function(){
        this.el.style.background='red';
      }
    });
    window.onload=function(){
      var vm=new Vue({
        el:'#box',
        data:{
          a:'blue'
        }
      });
    };
  </script>
</head>
<body>
  <div id="box">
    <zns-red></zns-red>
  </div>
</body>
</html>

感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。

希望本文所述對大家vue.js程序設(shè)計有所幫助。

相關(guān)文章

  • vue中provide?inject的響應(yīng)式監(jiān)聽解決方案

    vue中provide?inject的響應(yīng)式監(jiān)聽解決方案

    這篇文章主要介紹了vue中provide?inject的響應(yīng)式監(jiān)聽解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue+WebSocket頁面實時刷新長連接的實現(xiàn)

    Vue+WebSocket頁面實時刷新長連接的實現(xiàn)

    最近vue項目要做數(shù)據(jù)實時刷新,數(shù)據(jù)較大,會出現(xiàn)卡死情況,所以本文主要介紹了頁面實時刷新長連接,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-06-06
  • Vue ElementUI中el-table表格嵌套樣式問題小結(jié)

    Vue ElementUI中el-table表格嵌套樣式問題小結(jié)

    這篇文章主要介紹了Vue ElementUI中el-table表格嵌套樣式問題小結(jié),兩個表格嵌套,當父表格有children數(shù)組時子表格才展示,對Vue ElementUI中el-table表格嵌套樣式問題感興趣的朋友跟隨小編一起看看吧
    2024-02-02
  • vue-cli2.x項目優(yōu)化之引入本地靜態(tài)庫文件的方法

    vue-cli2.x項目優(yōu)化之引入本地靜態(tài)庫文件的方法

    這篇文章主要介紹了vue-cli2.x項目優(yōu)化之引入本地靜態(tài)庫文件的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06
  • 利用Vite搭建Vue3+ElementUI-Plus項目的全過程

    利用Vite搭建Vue3+ElementUI-Plus項目的全過程

    vue3如今已經(jīng)成為默認版本了,相信大多數(shù)公司已經(jīng)全面擁抱vue3了,下面這篇文章主要給大家介紹了關(guān)于利用Vite搭建Vue3+ElementUI-Plus項目的相關(guān)資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • 一文帶你搞懂Vue3中的各種ref的使用

    一文帶你搞懂Vue3中的各種ref的使用

    在?Vue3?中,有許多與響應(yīng)式相關(guān)的函數(shù),例如?toRef、toRefs、isRef、unref?等等,本文將詳細介紹這些函數(shù)的用法,讓我們在實際開發(fā)中知道應(yīng)該使用哪些?API?并能夠熟練地回答面試官的相關(guān)問題
    2023-08-08
  • vue實現(xiàn)拖動左側(cè)導(dǎo)航欄變大變小

    vue實現(xiàn)拖動左側(cè)導(dǎo)航欄變大變小

    這篇文章主要為大家詳細介紹了vue實現(xiàn)拖動左側(cè)導(dǎo)航欄變大變小,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • element的el-table中記錄滾動條位置的示例代碼

    element的el-table中記錄滾動條位置的示例代碼

    這篇文章主要介紹了element的el-table中記錄滾動條位置的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-11-11
  • Element基于el-input數(shù)字范圍輸入框的實現(xiàn)

    Element基于el-input數(shù)字范圍輸入框的實現(xiàn)

    本文主要介紹了?Element基于el-input數(shù)字范圍輸入框的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • Vue編譯報錯內(nèi)存溢出問題解決方式

    Vue編譯報錯內(nèi)存溢出問題解決方式

    這篇文章主要為大家介紹了Vue編譯報錯內(nèi)存溢出問題解決方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-08-08

最新評論

屯昌县| 长治市| 仁寿县| 井陉县| 马关县| 易门县| 浪卡子县| 威宁| 察隅县| 富裕县| 周宁县| 延寿县| 上栗县| 于都县| 绍兴市| 大邑县| 陆良县| 昭觉县| 延庆县| 寿光市| 惠来县| 岑巩县| 梅河口市| 玛沁县| 宝兴县| 夏津县| 青岛市| 敦煌市| 南康市| 驻马店市| 炎陵县| 寿宁县| 榕江县| 德令哈市| 泸溪县| 丰台区| 汽车| 丹阳市| 微山县| 阳高县| 犍为县|