這篇文章給大家分享的是有關(guān)vue指令以及dom操作的示例分析的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)秉承實(shí)現(xiàn)全網(wǎng)價值營銷的理念,以專業(yè)定制企業(yè)官網(wǎng),成都做網(wǎng)站、網(wǎng)站設(shè)計(jì),小程序開發(fā),網(wǎng)頁設(shè)計(jì)制作,成都手機(jī)網(wǎng)站制作,成都全網(wǎng)營銷幫助傳統(tǒng)企業(yè)實(shí)現(xiàn)“互聯(lián)網(wǎng)+”轉(zhuǎn)型升級專業(yè)定制企業(yè)官網(wǎng),公司注重人才、技術(shù)和管理,匯聚了一批優(yōu)秀的互聯(lián)網(wǎng)技術(shù)人才,對客戶都以感恩的心態(tài)奉獻(xiàn)自己的專業(yè)和所長。
“AngularJS 通過被稱為 指令 的新屬性來擴(kuò)展 HTML。AngularJS 通過內(nèi)置的指令來為應(yīng)用添加功能。AngularJS 允許你自定義指令。”
這是我最初接觸“指令”這個詞。還記得那時候,ng大行其道的時候,我特別好奇怎么給一個div加一個"ng-app" 就能解決這么多問題。
后來隨著前端工作的深入,我用了jq的data-attr并且學(xué)會了jq的插件使用。但,這這并不能讓我把它“指令”聯(lián)想到一塊,后來插件需要給節(jié)點(diǎn)加個標(biāo)示來顯示某種“狀態(tài)管理” 我用了class 例如:pending,loading-end.
但是感覺和樣式混在一塊總是感覺不自在,后來我直接添加一個自定義標(biāo)簽 例如:attr-pending,attr-loading-end,通過dom上的自定義標(biāo)簽來標(biāo)示某個狀態(tài)是否完成。
在這個時候,發(fā)現(xiàn)"attr-pending,attr-loading-end"與“ng-app,ng-html”什么的非常類似,才恍然大悟,其實(shí)“指令”也可以理解為"標(biāo)識",而具體的邏輯與它無關(guān),它只是一個“標(biāo)識”罷了。至于,ng-repeat,ng-click 同樣可以理解某個程序在dom上一個“標(biāo)識” 程序通過它來掛載某個功能。
現(xiàn)在接觸了vue,vue比ng在開發(fā)上來說代碼量很明顯少了很多,“指令”一般開發(fā)人員不需要自己來實(shí)現(xiàn)。但是如果是開發(fā)一套u(yù)i交互的組件,還是很需要它。
bind:僅調(diào)用一次,當(dāng)指令第一次綁定元素的時候。
update:第一次是緊跟在 bind 之后調(diào)用,獲得的參數(shù)是綁定的初始值;以后每當(dāng)綁定的值發(fā)生變化就會被調(diào)用,獲得新值與舊值兩個參數(shù)。
unbind:僅調(diào)用一次,當(dāng)指令解綁元素的時候。
1.指令的注冊
指令跟組件一樣需要注冊才能使用,同樣有兩種方式,一種是全局注冊:
Vue.directive('dirName',function(){ //定義指令 }); 另外一種是局部注冊: new Vue({ directives:{ dirName:{ //定義指令 } } });
2.可在指令函數(shù)配置中直接修改DOM[支持?jǐn)?shù)據(jù)驅(qū)動] input里面的值修改的時候#demo里面的vue也會自動同步
展示vue指令----vue和元素dom操作的完美結(jié)合【拓展】
{{msg}}
感謝各位的閱讀!關(guān)于“vue指令以及dom操作的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!