色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

vue原型設計拖拽

劉姿婷1年前8瀏覽0評論

原型設計拖拽是一種通過可視化方式,快速原型設計及形態設計的方法。其基本原理是通過長按并拖拽組件,拼接出用戶界面,方便設計人員高效指導開發人員開發。

眾所周知,Vue無過之言。Vue提供了一個基于MVVM設計模式的雙向數據綁定機制,使UI與數據各自獨立,而又互相關聯。在Vue框架中,原型設計拖拽能夠非常方便地實現,代碼量少,可維護性高,同時也能保證高效的原型設計。

<template>
<div class="dragBox" @mousedown="startDrag">
<div :style="{ transform: `translate(${this.currentX}px,${this.currentY}px)` }"></div>
</div>
</template>
<script>
export default {
data() {
return {
isDragging: false,
startX: 0,
startY: 0,
currentX: 0,
currentY: 0,
};
},
methods: {
startDrag(e) {
this.isDragging = true;
this.startX = e.pageX;
this.startY = e.pageY;
document.addEventListener('mousemove', this.doDrag);
document.addEventListener('mouseup', this.stopDrag);
},
doDrag(e) {
if (!this.isDragging) return;
const deltaX = e.pageX - this.startX;
const deltaY = e.pageY - this.startY;
this.currentX += deltaX;
this.currentY += deltaY;
this.startX = e.pageX;
this.startY = e.pageY;
},
stopDrag(e) {
this.isDragging = false;
document.removeEventListener('mousemove', this.doDrag);
document.removeEventListener('mouseup', this.stopDrag);
},
},
};
</script>

首先,我們需要在Vue模板中添加一個dragBox元素,使用mousedown事件實現可以拖拽的div。

在組件的data中,需要定義isDragging、startX、startY、currentX、currentY等變量,用于拖拽元素的狀態控制及位置信息儲存。

startDrag是鼠標按下事件,開始拖拽。每次按下后需要記錄鼠標按下的位置,同時添加mousemove和mouseup事件監聽器給當前document。

doDrag事件則是在isDragging為true時運行,根據startX、startY、當前鼠標位置計算出拖拽的位移,最終更新currentX和currentY的值。

stopDrag事件是鼠標抬起事件,$isDragging為false,同時移除事件監聽器。

整個過程就是這樣,通過這段代碼,即可完成Vue原型設計拖拽功能,方便快捷,可大大減少開發人員的開發時間,提高開發效率。