<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>自定义指令</title>
<script type="text/javascript" src="../assets/js/vue.js"></script>
</head>
<body>
<h1>自定义指令</h1>
<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(){
app.$destroy()
}
Vue.directive('json',{
bind:function(el,binding){
console.log('1 - bind');
el.style='color:'+binding.value;
},
inserted:function(){
console.log('2 - inserted');
},
update:function(){
console.log('3 - update');
},
componentUpdated:function(){
console.log('4 - componentUpdated');
},
unbind:function(){
console.log('5 - unbind');
}
});
var app = new Vue({
el:'#app',
data:{
num:1,
color:'red'
},
methods:{
add:function(){
this.num++
}
}
})
</script>