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

vue指令以及dom操作詳解

 更新時(shí)間:2017年03月04日 14:42:14   作者:小漠007  
本篇文章主要介紹了vue指令以及dom操作詳解,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

“AngularJS 通過被稱為 指令 的新屬性來擴(kuò)展 HTML。AngularJS 通過內(nèi)置的指令來為應(yīng)用添加功能。AngularJS 允許你自定義指令。”

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

后來隨著前端工作的深入,我用了jq的data-attr并且學(xué)會(huì)了jq的插件使用。但,這這并不能讓我把它“指令”聯(lián)想到一塊,后來插件需要給節(jié)點(diǎn)加個(gè)標(biāo)示來顯示某種“狀態(tài)管理” 我用了class  例如:pending,loading-end.

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

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

現(xiàn)在接觸了vue,vue比ng在開發(fā)上來說代碼量很明顯少了很多,“指令”一般開發(fā)人員不需要自己來實(shí)現(xiàn)。但是如果是開發(fā)一套u(yù)i交互的組件,還是很需要它。

bind: 僅調(diào)用一次,當(dāng)指令第一次綁定元素的時(shí)候。

update: 第一次是緊跟在 bind 之后調(diào)用,獲得的參數(shù)是綁定的初始值;以后每當(dāng)綁定的值發(fā)生變化就會(huì)被調(diào)用,獲得新值與舊值兩個(gè)參數(shù)。

unbind:僅調(diào)用一次,當(dāng)指令解綁元素的時(shí)候。

1.指令的注冊(cè)

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

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

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

      //定義指令
    }
  }
});

2.可在指令函數(shù)配置中直接修改DOM[支持?jǐn)?shù)據(jù)驅(qū)動(dòng)] input里面的值修改的時(shí)候#demo里面的vue也會(huì)自動(dòng)同步

<!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操作的完美結(jié)合【拓展】</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> 

官網(wǎng)鏈接: http://v1-cn.vuejs.org/guide/custom-directive.html

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue中@路徑無法跳轉(zhuǎn)到指定文件的解決

    vue中@路徑無法跳轉(zhuǎn)到指定文件的解決

    這篇文章主要介紹了vue中@路徑無法跳轉(zhuǎn)到指定文件的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • vue實(shí)現(xiàn)鼠標(biāo)滑動(dòng)展示tab欄切換

    vue實(shí)現(xiàn)鼠標(biāo)滑動(dòng)展示tab欄切換

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)鼠標(biāo)滑動(dòng)展示tab欄切換,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-04-04
  • vue中使用@blur獲取input?val值

    vue中使用@blur獲取input?val值

    這篇文章主要介紹了vue中使用@blur獲取input?val值的實(shí)現(xiàn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Vue項(xiàng)目中設(shè)置背景圖片方法

    Vue項(xiàng)目中設(shè)置背景圖片方法

    下面小編就為大家分享一篇Vue項(xiàng)目中設(shè)置背景圖片方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-02-02
  • vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能

    vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能

    這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)表單數(shù)據(jù)的增刪改功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue項(xiàng)目打包并部署到Linux服務(wù)器的詳細(xì)過程

    vue項(xiàng)目打包并部署到Linux服務(wù)器的詳細(xì)過程

    我們?cè)跁?huì)開發(fā)項(xiàng)目的同時(shí),也應(yīng)該了解一下項(xiàng)目是如何部署到服務(wù)器的,下面這篇文章主要給大家介紹了關(guān)于vue項(xiàng)目打包并部署到Linux服務(wù)器的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • vue語法自動(dòng)轉(zhuǎn)typescript(解放雙手)

    vue語法自動(dòng)轉(zhuǎn)typescript(解放雙手)

    這篇文章主要介紹了vue語法自動(dòng)轉(zhuǎn)typescript,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-09-09
  • vue配置多頁面的實(shí)現(xiàn)方法

    vue配置多頁面的實(shí)現(xiàn)方法

    本篇文章主要介紹了vue配置多頁面的實(shí)現(xiàn)方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • Vue中引入swiper報(bào)錯(cuò)的問題及解決

    Vue中引入swiper報(bào)錯(cuò)的問題及解決

    這篇文章主要介紹了Vue中引入swiper報(bào)錯(cuò)的問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10
  • Vue3和Vite不得不說的那些事

    Vue3和Vite不得不說的那些事

    這篇文章主要為大家詳細(xì)介紹了Vue3和Vite的那些事,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-02-02

最新評(píng)論

大关县| 喀喇沁旗| 孝昌县| 阜康市| 博兴县| 仁寿县| 丹东市| 福鼎市| 荔波县| 平乡县| 乌拉特前旗| 五莲县| 原阳县| 临洮县| 崇信县| 东光县| 万荣县| 赞皇县| 运城市| 宝鸡市| 曲靖市| 和平区| 南投市| 拉萨市| 库伦旗| 元阳县| 临沧市| 谢通门县| 乌海市| 尼玛县| 靖西县| 平潭县| 沧源| 汝南县| 韶关市| 昌图县| 龙川县| 伊春市| 贡嘎县| 宣武区| 逊克县|