<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>常用特性</title>
</head>
<body>
<div id="app">
<!-- 自定义获取焦点的指令 -->
<input type="text" v-focus />
<div v-color="styleColor">设置我的背景颜色</div>
<div v-fontsize="fontSize" v-fontcolor="color">自定义指令设置文字大小</div>
<div v-my-color="{color:'blue'}">设置字体颜色</div>
</div>
<script src="js/vue.js" type="text/javascript"></script>
<script type="text/javascript">
/**
* 自定义全局指令
*/
Vue.directive('focus',{
inserted:function(el){
//el表示指令所绑定的元素
el.focus();
}
});
// 带参数的自定义指令
Vue.directive('color',{
inserted:function(el,binding){
console.log(binding);
el.style.backgroundColor=binding.value.backgroundColor;
}
});
// 传参数的指令
Vue.directive('my-color',{
inserted:function(el,binding){
console.log(binding);
el.style.color=binding.value.color;
}
});
var vm=new Vue({
el:'#app',
data:{
styleColor:{
backgroundColor:'yellow'
},
fontSize:'20px',
color:'red'
},
methods:{
},
//局部自定义指令
directives:{
fontsize:{
bind:function(el,binding){
// console.log(binding);
el.style.fontSize=binding.value;
}
},
fontcolor:{
bind:function(el,binding){
// console.log(binding);
el.style.color=binding.value;
}
}
}
})
</script>
</body>
</html>