本文實例講述了Vue 自定義指令功能。分享給大家供大家參考,具體如下:
創(chuàng)新互聯(lián)制作網(wǎng)站網(wǎng)頁找三站合一網(wǎng)站制作公司,專注于網(wǎng)頁設(shè)計,成都網(wǎng)站設(shè)計、成都網(wǎng)站建設(shè),網(wǎng)站設(shè)計,企業(yè)網(wǎng)站搭建,網(wǎng)站開發(fā),建網(wǎng)站業(yè)務(wù),680元做網(wǎng)站,已為上千家服務(wù),創(chuàng)新互聯(lián)網(wǎng)站建設(shè)將一如既往的為我們的客戶提供最優(yōu)質(zhì)的網(wǎng)站建設(shè)、網(wǎng)絡(luò)營銷推廣服務(wù)!
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>自定義指令</title> <script type="text/javascript" src="https://cdn.bootcss.com/vue/2.6.10/vue.min.js"></script> </head> <body> <h2>自定義指令</h2> <hr> <div id="app"> <div v-json="color">{{num}}</div> <p><button @click="add">加一</button></p> </div> <p> <button οnclick="unbind()">解綁</button> </p> </body> </html> <script> function unbind(){ //vue 提供的解綁指令 app.$destroy() } //自定義指令 有五個鉤子函數(shù)(聲明周期) //bind: 只調(diào)用一次。指令第一次綁定到元素時調(diào)用。用這個鉤子函數(shù)可以定義一個綁定時執(zhí)行一次的初始化動作 //inserted: 被綁定元素插入父節(jié)點時調(diào)用 (父節(jié)點存在即可調(diào)用,不必存在于document中) // update: 被綁定于元素所在的模板更新時被調(diào)用,而無論綁定值是否發(fā)生變化 通過比較更新前后的綁定值,可以 忽略不必要的模板更新 //componentUpdated: 被綁定元素所在模板完成一次更新周期時調(diào)用 // unbind:只調(diào)用一次,指令與元素解綁時調(diào)用 Vue.directive('json',{ bind:function(el,binding){//被綁定 console.log('1 - bind'); el.style='color:'+binding.value; }, inserted:function(){//綁定到節(jié)點 console.log('2 - inserted'); }, update:function(){//組件更新 console.log('3 - update'); }, componentUpdated:function(){//組件更新完成 console.log('4 - componentUpdated'); }, unbind:function(){//解綁 console.log('5 - unbind'); } }); //自定義指令 // Vue.directive('json',function(el,binding){ // el.style='color:'+binding.value; // }); var app = new Vue({ el:'#app', data:{ num:1, color:'red' }, methods:{ add:function(){ this.num++ } } }) </script>
感興趣的朋友可以使用在線HTML/CSS/JavaScript代碼運行工具:http://tools.jb51.net/code/HtmlJsRun測試上述代碼運行效果。
希望本文所述對大家vue.js程序設(shè)計有所幫助。
新聞標(biāo)題:Vue自定義指令功能完整實例
當(dāng)前地址:http://www.rwnh.cn/article36/gshcsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站營銷、企業(yè)建站、云服務(wù)器、網(wǎng)站制作、網(wǎng)站維護
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)