最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue3實(shí)現(xiàn)圖片縮放拖拽功能的示例代碼

 更新時(shí)間:2024年04月29日 08:47:48   作者:囂張農(nóng)民  
v3-drag-zoom 是基于 vue3 開發(fā)的一個(gè)縮放拖拽組件,方便開發(fā)者快速實(shí)現(xiàn)縮放拖拽功能,效果類似地圖的縮放與拖拽,本文給大家介紹了vue3如何快速實(shí)現(xiàn)圖片縮放拖拽功能,感興趣的朋友可以參考下

前言

因?yàn)樾枰獙?shí)現(xiàn)圖片拖拽,縮放的功能,項(xiàng)目是vue3的所以找到這個(gè)組件,很簡(jiǎn)潔,api文檔描述的也清楚,能夠快速3分鐘內(nèi)搞完一個(gè)功能

縮放拖拽組件(v3-drag-zoom)

v3-drag-zoom 是基于 vue3 開發(fā)的一個(gè)縮放拖拽組件,方便開發(fā)者快速實(shí)現(xiàn)縮放拖拽功能。

效果類似地圖的縮放與拖拽,但是不同的是,v3-drag-zoom 可以縮放任意元素,而不僅僅是地圖。

使用場(chǎng)景:

  • 地圖縮放與拖拽
  • 圖片縮放與拖拽
  • 任意元素縮放與拖拽
  • 其他任意需要縮放與拖拽的場(chǎng)景

安裝?

使用以下命令安裝 v3-drag-zoom

bash

npm install v3-drag-zoom
# 或
yarn add v3-drag-zoom

導(dǎo)入組件?

全局導(dǎo)入?

在 main.js 中全局引入 v3-drag-zoom

import {createApp} from "vue";
import App from "./App.vue";
// v3-drag-zoom 組件
import V3DragZoom from "v3-drag-zoom";
// v3-drag-zoom 全局樣式(必須導(dǎo)入,否則無法正常使用)
import "v3-drag-zoom/dist/style.css";

createApp(App).use(V3DragZoom).mount("#app");

按需導(dǎo)入?

在需要的組件中導(dǎo)入 v3-drag-zoom

<script setup lang="ts">
  import {V3DragZoomContainer} from "v3-drag-zoom";
</script>

<template>
  <v3-drag-zoom-container>
    <div>需要縮放與拖拽的元素</div>
  </v3-drag-zoom-container>
</template>

由于v3-drag-zoom 全局導(dǎo)入也就只有 2 個(gè)組件,因此建議全局導(dǎo)入。

基本使用?

使用 v3-drag-zoom 組件包裹需要縮放與拖拽的元素即可。

如果 v3-drag-zoom 內(nèi)部存在 img 元素,則會(huì)自動(dòng)等待所有元素加載完畢后初始化,因此不需要手動(dòng)等待圖片加載完畢后再初始化。

<script setup lang="ts"></script>

<template>
  <v3-drag-zoom-container style="width: 600px; height: 400px; background-color: #ccc">
    <div
      class="flex-column flex-same"
      style="background-color: darkred; height: 500px; width: 900px"
    >
      <div class="flex-grow flex-horiz flex-same" v-for="i in 10">
        <div class="border-box bca-border" v-for="i in 10"></div>
      </div>
    </div>
  </v3-drag-zoom-container>
</template>

API參數(shù)?

v3-drag-zoom-container?

Props?

參數(shù)名類型默認(rèn)值說明
alignStringcontain內(nèi)容對(duì)齊方式,可選值有 auto、 contain、cover
autoResizeBooleantrue是否自動(dòng)重置尺寸,當(dāng)容器尺寸為百分比的時(shí)候,會(huì)根據(jù)父容器變化而自動(dòng)變化
followPointerBooleantrue縮放時(shí)是否跟隨鼠標(biāo)
maxZoomFloat100最大縮放倍數(shù)
minZoomFloat0.01最小縮放倍數(shù)
zoomFactorFloat0.1鼠標(biāo)滾輪一次的縮放比例
loadingBooleanfalse是否加載中
animateDurationNumber200縮放時(shí)候的過度動(dòng)畫時(shí)長(zhǎng),單位 ms

Slots?

Slot說明
default直接填寫需要放置的內(nèi)容

Exposed?

參數(shù)名類型說明
zoom(zoom:Float) => void手動(dòng)縮放 zoom: 為縮放倍數(shù)
reset() => void重置縮放

v3-drag-zoom-item?

Props?

參數(shù)名類型默認(rèn)值是否必須說明
offsetArray[-50,-50]偏移量,默認(rèn)值代表橫向和縱向均偏移 -50%,也就是對(duì)齊中心點(diǎn)位置,偏移量單位為 %, 不支持 px
fixedSizeBooleanfalse是否固定大小, true代表在縮放過程中該item內(nèi)容尺寸不變
rotateFloat0旋轉(zhuǎn)角度單位 deg (360度)
draggableBooleanfalse是否可以拖拽移動(dòng)
position(v-model)CurPosition該 item 在內(nèi)容中的位置(百分比位置)

Slots?

Slot說明
default直接填寫需要放置的內(nèi)容

Events?

事件名參數(shù)說明
onMove( pos :Position)=> void每移動(dòng)一點(diǎn)距離觸發(fā),返回當(dāng)前位置
onMoveFinished( pos :Position)=> void移動(dòng)結(jié)束(鼠標(biāo)抬起或超出范圍)觸發(fā), 返回當(dāng)前位置

CurPosition?

參數(shù)名類型默認(rèn)值是否必須說明
xFloat橫向位置 %
yFloat縱向位置 %

Position extend CurPosition?

參數(shù)名類型默認(rèn)值是否必須說明
xFloat橫向位置 %
yFloat縱向位置 %
sub(pos:Position)=>Position計(jì)算當(dāng)前 Position 與 pos 之間的差值 new Position(this.x - pos.x, this.y - pos.y);
add(pos:Position)=>Position計(jì)算當(dāng)前 Position 與 pos 之間的和值 new Position(this.x + pos.x, this.y + p

以上就是vue3實(shí)現(xiàn)圖片縮放拖拽功能的示例代碼的詳細(xì)內(nèi)容,更多關(guān)于vue3圖片縮放拖拽的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何在Vue項(xiàng)目中應(yīng)用TypeScript類

    如何在Vue項(xiàng)目中應(yīng)用TypeScript類

    與如何在React項(xiàng)目中應(yīng)用TypeScript類類似在VUE項(xiàng)目中應(yīng)用typescript,我們需要引入一個(gè)庫(kù)vue-property-decorator,需要的小伙伴可續(xù)看下文具體介紹
    2021-09-09
  • vue前端開發(fā)輔助函數(shù)狀態(tài)管理詳解示例

    vue前端開發(fā)輔助函數(shù)狀態(tài)管理詳解示例

    vue的應(yīng)用狀態(tài)管理提供了mapState、mapGetters、mapMutations、mapActions四個(gè)輔助函數(shù),所謂的輔助函數(shù)分別對(duì)State、Getters、Mutations、Actions在完成狀態(tài)的使用進(jìn)行簡(jiǎn)化
    2021-10-10
  • ElementUI表單驗(yàn)證validate和validateField的使用及區(qū)別

    ElementUI表單驗(yàn)證validate和validateField的使用及區(qū)別

    Element-UI作為前端框架,最常使用到的就是表單驗(yàn)證,下面這篇文章主要給大家介紹了關(guān)于ElementUI表單驗(yàn)證validate和validateField的使用及區(qū)別,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • 在Vue項(xiàng)目中優(yōu)化字體文件的加載和緩存的常用方法

    在Vue項(xiàng)目中優(yōu)化字體文件的加載和緩存的常用方法

    在現(xiàn)代 Web 開發(fā)中,字體文件通常是頁(yè)面加載時(shí)間的重要因素之一,特別是在字體文件較大或網(wǎng)絡(luò)環(huán)境不佳的情況下,用戶體驗(yàn)可能會(huì)受到影響,本文將詳細(xì)探討如何在 Vue.js 項(xiàng)目中優(yōu)化字體文件的加載和緩存,以提高頁(yè)面性能,需要的朋友可以參考下
    2024-09-09
  • vue elementUI 表單校驗(yàn)的實(shí)現(xiàn)代碼(多層嵌套)

    vue elementUI 表單校驗(yàn)的實(shí)現(xiàn)代碼(多層嵌套)

    這篇文章主要介紹了vue elementUI 表單校驗(yàn)的實(shí)現(xiàn)代碼(多層嵌套),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Vue開發(fā)環(huán)境的搭建全過程

    Vue開發(fā)環(huán)境的搭建全過程

    文章介紹了在網(wǎng)頁(yè)中使用Vue.js的四種方式:基本方式、腳手架方式(Vue2.0)、使用WebStorm集成環(huán)境創(chuàng)建vue-cli項(xiàng)目(Vue3.0)以及Vue項(xiàng)目的目錄結(jié)構(gòu),每種方式都有詳細(xì)的步驟和示例,幫助讀者快速上手Vue.js開發(fā)
    2024-11-11
  • vue watch關(guān)于對(duì)象內(nèi)的屬性監(jiān)聽

    vue watch關(guān)于對(duì)象內(nèi)的屬性監(jiān)聽

    這篇文章主要介紹了vue watch關(guān)于對(duì)象內(nèi)的屬性監(jiān)聽的相關(guān)知識(shí),非常不錯(cuò),具有一定的參考借鑒價(jià)值 ,需要的朋友可以參考下
    2019-04-04
  • Vue異步更新機(jī)制及$nextTick原理的深入講解

    Vue異步更新機(jī)制及$nextTick原理的深入講解

    最近在學(xué)習(xí)一些底層方面的知識(shí),所以想做個(gè)系列嘗試去聊聊這些比較復(fù)雜又很重要的知識(shí)點(diǎn),下面這篇文章主要給大家介紹了關(guān)于Vue異步更新機(jī)制及$nextTick原理的相關(guān)資料,需要的朋友可以參考下
    2022-04-04
  • vue使用Highcharts實(shí)現(xiàn)3D餅圖

    vue使用Highcharts實(shí)現(xiàn)3D餅圖

    這篇文章主要為大家詳細(xì)介紹了vue使用Highcharts實(shí)現(xiàn)3D餅圖,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue如何跳轉(zhuǎn)到其他頁(yè)面

    vue如何跳轉(zhuǎn)到其他頁(yè)面

    跳轉(zhuǎn)到指定URL,向history棧添加一個(gè)新的紀(jì)錄,點(diǎn)擊后退會(huì)返回至上一個(gè)頁(yè)面,這篇文章給大家介紹vue如何跳轉(zhuǎn)到其他頁(yè)面,包括無參跳轉(zhuǎn)和帶參跳轉(zhuǎn),本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2023-10-10

最新評(píng)論

高碑店市| 铜梁县| 黄山市| 营口市| 施甸县| 吴桥县| 郴州市| 太白县| 蛟河市| 金华市| 清新县| 礼泉县| 夏邑县| 宜宾县| 丹寨县| 鹤壁市| 福鼎市| 宜都市| 涟源市| 电白县| 锡林郭勒盟| 沙坪坝区| 曲麻莱县| 民和| 汽车| 宁晋县| 棋牌| 阿克陶县| 陵川县| 布尔津县| 沂源县| 扬州市| 桦南县| 行唐县| 玉龙| 措美县| 湘潭县| 南安市| 融水| 儋州市| 乌兰浩特市|