本文實例講述了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.chinadenli.net/article36/gshcsg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站內(nèi)鏈、網(wǎng)站營銷、企業(yè)建站、云服務(wù)器、網(wǎng)站制作、網(wǎng)站維護(hù)
聲明:本網(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)