通過局部自定義指令實(shí)現(xiàn)了一個(gè)拖動(dòng)的指令
html:
<div style="position:absolute;width:100px;height:100px;border:1px solid red" v-drag="{set:set}"></div>script:
methods:{set(x,y){this.data.x=x;this.data.y=y;}},directives:{// 拖動(dòng)的自定義指令drag(el,binding){//el為拖動(dòng)的元素var oDiv =el; oDiv.onmousedown = function(e){  e.preventDefault();     e.stopPropagation();  var disX = e.offsetX;  var disY = e.offsetY;  document.onmousemove = function(e){  e.preventDefault();e.stopPropagation();  var x=e.pageX-disX;  var y=e.pageY-disY   oDiv.style.left=xoDiv.style.top=y  // 通過傳參的形式,將methods中的函數(shù)傳進(jìn)來,以此來改變data中的值  binding.value.set(x,y)  };  document.onmouseup = function(){  document.onmousemove=null;  document.onmouseup=null;  }; };}},以上所述是小編給大家介紹的vue 中自定義指令改變data中的值,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時(shí)回復(fù)大家的。在此也非常感謝大家對武林網(wǎng)網(wǎng)站的支持!
新聞熱點(diǎn)
疑難解答