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

基于Vue3自定義實(shí)現(xiàn)圖片翻轉(zhuǎn)預(yù)覽功能

 更新時(shí)間:2023年10月26日 10:57:02   作者:糖墨夕  
這篇文章主要為大家詳細(xì)介紹了如何基于Vue3自定義實(shí)現(xiàn)簡(jiǎn)單的圖片翻轉(zhuǎn)預(yù)覽功能,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,有需要的小伙伴可以參考一下

簡(jiǎn)介

在項(xiàng)目開(kāi)發(fā)中,我們或許都習(xí)慣了插件的運(yùn)用,因?yàn)檫@樣對(duì)我們的好處有如下:

  • 擴(kuò)展技術(shù)能力:通過(guò)使用不同的圖片翻轉(zhuǎn)等插件,我們將有機(jī)會(huì)探索和學(xué)習(xí)新的技術(shù)和工具。這些插件通常會(huì)提供新的特性和功能,使我們有機(jī)會(huì)提高自己的技術(shù)能力和技術(shù)廣度。
  • 提高效率:圖片翻轉(zhuǎn)等插件可以讓我們更快地實(shí)現(xiàn)所需的效果,節(jié)省時(shí)間和精力。這些插件通常提供一些現(xiàn)成的功能和樣式,使我們能夠快速地應(yīng)用于自己的項(xiàng)目中,提高開(kāi)發(fā)效率。
  • 促進(jìn)創(chuàng)造力和設(shè)計(jì)能力:使用多樣化的圖片翻轉(zhuǎn)等插件可以激發(fā)我們的創(chuàng)造力和設(shè)計(jì)能力。這些插件提供了各種各樣的美觀效果和交互式動(dòng)畫(huà),可以幫助我們更好地設(shè)計(jì)和構(gòu)建獨(dú)特而令人印象深刻的用戶界面。
  • 學(xué)習(xí)最佳實(shí)踐:通過(guò)使用不同的插件,我們可以學(xué)習(xí)到更多關(guān)于最佳實(shí)踐和設(shè)計(jì)模式。這些插件通常由經(jīng)驗(yàn)豐富的開(kāi)發(fā)者開(kāi)發(fā),他們?cè)诓寮羞\(yùn)用了一些最佳實(shí)踐和設(shè)計(jì)原則,通過(guò)研究這些插件源碼和文檔,我們可以借鑒和學(xué)習(xí)一些更好的編碼方法和設(shè)計(jì)思路。

但我們需要注意的是,盡管插件可以為我們提供一些幫助和便利,但過(guò)度依賴插件也可能帶來(lái)一些問(wèn)題。我們應(yīng)該權(quán)衡使用插件的利弊,能夠理解其工作原理和潛在的問(wèn)題。此外,我們還應(yīng)定期評(píng)估和審查所使用的插件,并確保它們對(duì)項(xiàng)目有價(jià)值并符合項(xiàng)目的長(zhǎng)期需求。最重要的是,我們應(yīng)該積極地學(xué)習(xí)和探索新的技術(shù)和工具,以提高自己的技術(shù)水平和解決問(wèn)題的能力。

所以,我們也應(yīng)該多嘗試手動(dòng)實(shí)現(xiàn)一些插件所帶來(lái)的功能點(diǎn)。

實(shí)踐

這里就針對(duì)一個(gè)圖片翻轉(zhuǎn)預(yù)覽功能,做一下自定義實(shí)現(xiàn)步驟的筆記。

需求

即展示服務(wù)圖片,默認(rèn)顯示主圖,可左右切換查看圖片,首尾不循環(huán),點(diǎn)擊圖片可放大查看。

UI樣式大致如下:

拆解

從UI原型圖中,即可知道,圖片翻轉(zhuǎn)包含了左右翻轉(zhuǎn)按鈕、中間部分則直接定位當(dāng)前元素高亮的位置。 而顯示在中間的圖片,則要填充整個(gè)寬度,并固定高度。

而且左右切換的時(shí)候,需要包括滑動(dòng)動(dòng)效效果。

實(shí)現(xiàn)過(guò)程

定義代碼布局

<template>
  <div class="images">
    <!-- 左箭頭 -->
    <img
      src="@renderer/assets/square/icon_right2.svg"
      class="bleft"
      @click="previousImage"
    />

    <!-- 圖片切換過(guò)渡效果 -->
    <transition name="slide">
      <img :key="currentImage" :src="currentImage" alt="當(dāng)前圖片" class="centerImage" />
    </transition>

    <!-- 右箭頭 -->
    <img
      src="@renderer/assets/square/icon_right2.svg"
      class="bright"
      @click="nextImage"
    />
  </div>
</template>

<script>
import { ref, computed } from 'vue';

export default {
  setup() {
    const images = ref([
      "@renderer/assets/image1.jpg",
      "@renderer/assets/image2.jpg",
      "@renderer/assets/image3.jpg"
    ]);

    const currentIndex = ref(0);

    const currentImage = computed(() => {
      return images.value[currentIndex.value];
    });

    function previousImage() {
      currentIndex.value = (currentIndex.value - 1 + images.value.length) % images.value.length;
    }

    function nextImage() {
      currentIndex.value = (currentIndex.value + 1) % images.value.length;
    }

    return {
      currentImage,
      previousImage,
      nextImage
    };
  }
}
</script>

<style>
.slide-enter-active,
.slide-leave-active {
  transition: all 0.5s ease;
}

.slide-enter,
.slide-leave-to {
  opacity: 0;
  transform: translateX(100px);
}
</style>

在上述代碼中,可以看到我們使用了 ref 和 computed 來(lái)定義響應(yīng)式數(shù)據(jù)。images 是一個(gè)保存圖片URL的數(shù)組,currentIndex 是當(dāng)前顯示圖片的索引。

通過(guò)計(jì)算屬性 currentImage,我們根據(jù) currentIndex 來(lái)獲取當(dāng)前顯示的圖片的URL。

previousImage 和 nextImage 函數(shù)用于切換上一張和下一張圖片,通過(guò)更新 currentIndex 的值來(lái)實(shí)現(xiàn)圖片切換。

最后,定義了一個(gè)帶有過(guò)渡效果的 CSS 動(dòng)畫(huà),用于實(shí)現(xiàn)圖片的滑動(dòng)效果

注: 針對(duì)代碼中的centerImage,我們需要對(duì)圖片做完全填充的效果 要按照?qǐng)D片的長(zhǎng)寬比例展示圖片,但又不壓縮或變形圖片,我們可以使用CSS的object-fit屬性。

object-fit屬性用于指定元素如何適應(yīng)其容器的高度和寬度。下面是一些常用的object-fit屬性值:

  • fill:將整個(gè)元素填充到容器中,可能會(huì)導(dǎo)致圖片變形。
  • contain:將整個(gè)元素縮放到容器中,保持圖片的原始寬高比,但可能會(huì)留有空白區(qū)域。
  • cover:將元素等比例縮放,填滿容器,可能會(huì)裁剪掉部分圖片。
  • none:保持圖片的原始尺寸,不進(jìn)行任何縮放或適應(yīng)

所有我們可以選中cover

代碼如下:

centerImage {
    border-radius: 8px;
    height: inherit;
    width: 100%;
    object-fit: cover; /* 保持圖片原始比例,可能會(huì)留有空白區(qū)域 */
  }

到此這篇關(guān)于基于Vue3自定義實(shí)現(xiàn)圖片翻轉(zhuǎn)預(yù)覽功能的文章就介紹到這了,更多相關(guān)Vue3圖片翻轉(zhuǎn)預(yù)覽內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Vue動(dòng)態(tài)組件與內(nèi)置組件淺析講解

    Vue動(dòng)態(tài)組件與內(nèi)置組件淺析講解

    閑話少說(shuō),我們進(jìn)入今天的小小五分鐘學(xué)習(xí)時(shí)間,前面我們了解了vue的組件,我們本文主要是講解vue的動(dòng)態(tài)組件和內(nèi)置組件,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-08-08
  • vue使用swiper插件實(shí)現(xiàn)垂直輪播圖

    vue使用swiper插件實(shí)現(xiàn)垂直輪播圖

    這篇文章主要介紹了vue使用swiper插件實(shí)現(xiàn)垂直輪播圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-01-01
  • vue打包之后配置統(tǒng)一請(qǐng)求地址步驟詳解

    vue打包之后配置統(tǒng)一請(qǐng)求地址步驟詳解

    這篇文章主要為大家介紹了vue打包之后配置統(tǒng)一請(qǐng)求地址實(shí)現(xiàn)步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-07-07
  • vue列表如何自動(dòng)滾動(dòng)到制定位置

    vue列表如何自動(dòng)滾動(dòng)到制定位置

    這篇文章主要介紹了vue列表如何自動(dòng)滾動(dòng)到制定位置問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • element-ui中Table表格省市區(qū)合并單元格的方法實(shí)現(xiàn)

    element-ui中Table表格省市區(qū)合并單元格的方法實(shí)現(xiàn)

    這篇文章主要介紹了element-ui中Table表格省市區(qū)合并單元格的方法實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Vue Ref全家桶具體用法詳解

    Vue Ref全家桶具體用法詳解

    ref用來(lái)輔助我們獲取DOM元素或組件的引用實(shí)例對(duì)象,每個(gè)vue的組件實(shí)例上,都包含一個(gè)refs對(duì)象,里面存儲(chǔ)著對(duì)應(yīng)的DOM元素或組件的引用,默認(rèn)情況下,組件的refs指向一個(gè)空對(duì)象
    2023-03-03
  • 如何修改vue-treeSelect的高度

    如何修改vue-treeSelect的高度

    這篇文章主要介紹了如何修改vue-treeSelect的高度,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • vue3的內(nèi)置組件匯總

    vue3的內(nèi)置組件匯總

    本文主要介紹了vue3的內(nèi)置組件匯總,詳細(xì)的介紹了Fragment,Teleport,Suspense三個(gè)組件的使用,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • 最新評(píng)論

    正蓝旗| 鹤庆县| 集贤县| 东海县| 青神县| 二连浩特市| 广南县| 平安县| 拜泉县| 南和县| 广德县| 彭泽县| 霍山县| 资溪县| 宁德市| 桦南县| 和顺县| 攀枝花市| 华容县| 同心县| 门头沟区| 大姚县| 罗甸县| 全椒县| 玛多县| 绥德县| 宣城市| 民勤县| 贵港市| 江陵县| 漾濞| 个旧市| 永康市| 宣化县| 怀化市| 视频| 临沭县| 绥中县| 信宜市| 太和县| 白朗县|