内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

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

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

創(chuàng)新互聯(lián)秉承實(shí)現(xiàn)全網(wǎng)價(jià)值營(yíng)銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),小程序開發(fā),網(wǎng)頁(yè)設(shè)計(jì)制作,成都手機(jī)網(wǎng)站制作,成都全網(wǎng)營(yíng)銷幫助傳統(tǒng)企業(yè)實(shí)現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級(jí)專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對(duì)客戶都以感恩的心態(tài)奉獻(xiàn)自己的專業(yè)和所長(zhǎng)。

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

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

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

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

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

現(xiàn)在接觸了vue,vue比ng在開發(fā)上來(lái)說(shuō)代碼量很明顯少了很多,“指令”一般開發(fā)人員不需要自己來(lái)實(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>

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

當(dāng)前題目:vue指令以及dom操作的示例分析
分享地址:http://m.rwnh.cn/article6/iggjog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站改版、虛擬主機(jī)、全網(wǎng)營(yíng)銷推廣、關(guān)鍵詞優(yōu)化、域名注冊(cè)商城網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都網(wǎng)頁(yè)設(shè)計(jì)公司
雅安市| 宁城县| 花莲县| 都安| 莲花县| 湖州市| 吉隆县| 柳州市| 马鞍山市| 云浮市| 新宁县| 象山县| 万宁市| 体育| 晋江市| 五河县| 金湖县| 同德县| 女性| 呼和浩特市| 博罗县| 江阴市| 双桥区| 永定县| 嵊州市| 潼南县| 通城县| 仙桃市| 潜江市| 扎兰屯市| 无锡市| 东丰县| 池州市| 溧阳市| 榕江县| 额尔古纳市| 和顺县| 大足县| 定西市| 家居| 台江县|