中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue指令以及dom操作的示例分析

發布時間:2021-08-13 10:14:23 來源:億速云 閱讀:90 作者:小新 欄目:web開發

這篇文章給大家分享的是有關vue指令以及dom操作的示例分析的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

“AngularJS 通過被稱為 指令 的新屬性來擴展 HTML。AngularJS 通過內置的指令來為應用添加功能。AngularJS 允許你自定義指令。”

這是我最初接觸“指令”這個詞。還記得那時候,ng大行其道的時候,我特別好奇怎么給一個div加一個"ng-app" 就能解決這么多問題。

后來隨著前端工作的深入,我用了jq的data-attr并且學會了jq的插件使用。但,這這并不能讓我把它“指令”聯想到一塊,后來插件需要給節點加個標示來顯示某種“狀態管理” 我用了class  例如:pending,loading-end.

但是感覺和樣式混在一塊總是感覺不自在,后來我直接添加一個自定義標簽 例如:attr-pending,attr-loading-end,通過dom上的自定義標簽來標示某個狀態是否完成。

在這個時候,發現"attr-pending,attr-loading-end"與“ng-app,ng-html”什么的非常類似,才恍然大悟,其實“指令”也可以理解為"標識",而具體的邏輯與它無關,它只是一個“標識”罷了。至于,ng-repeat,ng-click  同樣可以理解某個程序在dom上一個“標識” 程序通過它來掛載某個功能。

現在接觸了vue,vue比ng在開發上來說代碼量很明顯少了很多,“指令”一般開發人員不需要自己來實現。但是如果是開發一套ui交互的組件,還是很需要它。

bind: 僅調用一次,當指令第一次綁定元素的時候。

update: 第一次是緊跟在 bind 之后調用,獲得的參數是綁定的初始值;以后每當綁定的值發生變化就會被調用,獲得新值與舊值兩個參數。

unbind:僅調用一次,當指令解綁元素的時候。

1.指令的注冊

指令跟組件一樣需要注冊才能使用,同樣有兩種方式,一種是全局注冊:

Vue.directive('dirName',function(){
  //定義指令
});

另外一種是局部注冊:
new Vue({
  directives:{
    dirName:{

      //定義指令
    }
  }
});

2.可在指令函數配置中直接修改DOM[支持數據驅動] input里面的值修改的時候#demo里面的vue也會自動同步

<!DOCTYPE html> 
<html> 
<head lang="en"> 
 <meta charset="UTF-8"> 
 <title></title> 
 <script src="http://cdnjs.cloudflare.com/ajax/libs/vue/0.12.16/vue.min.js"></script> 
</head> 
<body> 
<div> 
  <p>展示vue指令----vue和元素dom操作的完美結合【拓展】</p> 
  <p>{{msg}}</p> 
  <input type="text" v-model="msg"> 
</div> 
<div id="demo" v-demo-directive="LightSlateGray : msg"></div> 
 
<script> 
 Vue.directive('demoDirective', { 
  bind: function () { 
   this.el.style.color = '#fff' 
   this.el.style.backgroundColor = this.arg 
  }, 
  update: function (value) { 
   this.el.innerHTML = 
     'name - '  + this.name + '<br>' + 
     'raw - '  + this.raw + '<br>' + 
     'expression - ' + this.expression + '<br>' + 
     'argument - ' + this.arg + '<br>' + 
     'value - '  + value 
  } 
 }); 
 var demo = new Vue({ 
  el: 'body', 
  data: { 
   msg: 'hello!' 
  } 
 }) 
 
</script> 
</body> 
</html>

感謝各位的閱讀!關于“vue指令以及dom操作的示例分析”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阿鲁科尔沁旗| 屏东县| 上饶县| 阿合奇县| 民乐县| 康定县| 类乌齐县| 宣汉县| 菏泽市| 榆中县| 岑溪市| 乌鲁木齐市| 东方市| 晋江市| 潮安县| 西城区| 望奎县| 安阳县| 南木林县| 长海县| 兰溪市| 蕲春县| 马山县| 班玛县| 手游| 伊宁市| 商洛市| 称多县| 留坝县| 浦县| 肥东县| 抚顺县| 泽库县| 林周县| 寿光市| 樟树市| 岢岚县| 宜川县| 龙海市| 江口县| 肇州县|