<!DOCTYPE html>
<html lang="en">
<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>Document</title>
<link rel="shortcut icon" href="#" type="image/x-icon">
<style>
.div1{
position:absolute;
width:100px;
height:100px;
background: peru;
}
</style>
</head>
<body>
<div id="app">
<button v-color='colorName'>变色</button>
<div v-drag class = 'div1'>拖拽</div>
</div>
<script src="node_modules/vue/dist/vue.js"></script>
<script>
let vm = new Vue({
el:'#app',
directives:{
color(el,bindings){
console.log(bindings);
el.style.background = bindings.value;
},
drag(el){
el.onmousedown = function(e){
let disX = e.pageX - el.offsetLeft ;
let disY = e.pageY - el.offsetTop ;
document.onmousemove = function(e){
el.style.left = e.pageX - disX + 'px';
el.style.top = e.pageY - disY + 'px';
}
document.onmouseup = function(){
document.onmousedown = document.onmousemove = null ;
}
e.preventDefault();
}
}
},
data:{
colorName:'red',
}
})
</script>
</body>
</html>