您好,登錄后才能下訂單哦!
這篇文章主要講解了“Vue如何實現點擊圖片放大顯示功能”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Vue如何實現點擊圖片放大顯示功能”吧!
方式一:列表中感應鼠標顯示大圖
我管理后臺使用的是 element , 列表使用的是 el-tabe
<el-table-column prop="identifImg" header-align="center" align="center" label="證件照" width="100"> <template slot-scope="scope"> <el-popover placement="top-start" trigger="hover"> <div class="row_reserve"><img class="big-img" :src="scope.row.identifImg"/></div> <div slot="reference"><img class="td-img" :src="scope.row.identifImg"/></div> </el-popover> </template> </el-table-column>
在列表中實現放大圖片使用的是 el-popover 使用說明文檔
方式二:自定義通用組件實現
首先是自定義大圖顯示的通用組件:big-img.vue
<template> <div v-show="visible" @click="closeClick" class="showPhoto"> <img class="img" :src="url" alt="圖片加載失敗" /> </div> </template> <script> export default { props: { url: { type: String, default: "", }, visible: { type: Boolean, default: false, }, }, methods: { closeClick() { //子組件可以使用 $emit 觸發父組件的自定義事件 this.$emit("closeClick"); }, }, }; </script> <style lang="css" scoped> .showPhoto { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 99999; display: flex; align-items: center; justify-content: center; } .showPhoto .img { display: block; margin: auto 0; max-width: 20%; text-align: center; } </style>
然后在使用到文件中 引入組件并注冊組件
import BigImg from "../components/big-img" export default { data() { return { photoVisible: false, bigImgUrl: "" }; }, components:{ BigImg }, methods: { showBigImage(e) {//點擊圖片函數,點擊后,把photoVisible設置成true if (e != "") { this.photoVisible = true; this.bigImgUrl = e; } }, };
然后在圖片 img 處使用
<template> <div> <!-- imgBaseUrl為圖片URL--> <img v-if="imgBaseUrl" :src="imgBaseUrl" @click.self="showBigImage(imgBaseUrl)"> <img @click.self="showBigImage($event)" src="~@/assets/img/liaojiewt/202141.png" alt="" /> <!--顯示放大圖片的組件--> <BigImg :visible="photoVisible" :url="bigImgUrl" @closeClick="()=>{photoVisible=false}"></BigImg> </div> </template>
感謝各位的閱讀,以上就是“Vue如何實現點擊圖片放大顯示功能”的內容了,經過本文的學習后,相信大家對Vue如何實現點擊圖片放大顯示功能這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。