这次给大家带来vue实现点击图片放大功能(附代码),vue实现点击图片放大功能的注意事项有哪些,下面就是实战案例,一起来看一下。
1.建立子组件,来实现图片方法功能: BigImg.vue
<template> <!-- 过渡动画 --> <transitionname="fade"> <pclass="img-view"@click="bigImg"> <!-- 遮罩层 --> <pclass="img-layer"></p> <pclass="img"> <img:src="imgSrc"> </p> </p> </transition> </template> <script> export default { props: ['imgSrc'],//接受图片地址 methods: { bigImg() { // 发送事件 this.$emit('clickit') } } } </script> <stylescoped> /*动画*/ .fade-enter-active, .fade-leave-active { transition: all .2s linear; transform: translate3D(0, 0, 0); } .fade-enter, .fade-leave-active { transform: translate3D(100%, 0, 0); } /* bigimg */ .img-view { position: inherit; width: 100%; height: 100%; } /*遮罩层样式*/ .img-view .img-layer { position: fixed; z-index: 999; top: 0; left: 0; background: rgba(0, 0, 0, 0.7); width: 100%; height: 100%; overflow: hidden; } /*不限制图片大小,实现居中*/ .img-view .img img { max-width: 100%; display: block; position: absolute; left: 0; right: 0; margin: auto; z-index: 1000; } </style>
2.在父类中使用子组件:
<templatexmlns:v-on="http://www.w3.org/1999/xhtml"> <pclass="contents"> <pclass="group"> <pclass="special"> <spanv-text="pagedata.subtitle"></span> </p> <spanclass="text-muted"v-text="pagedata.headline"></span> <pclass="group_img"> <!-- 放大图片 --> <big-imgv-if="showImg"@clickit="viewImg":imgSrc="imgSrc"></big-img> <pclass="text"v-text="pagedata.article"></p> <imgid="smallImg":src="pagedata.imgurl"@click="clickImg($event)"> </p> </p> </p> </template> <script> import BigImg from '../../index/moduleStyles/BigImg.vue'; export default { data () { return { showImg:false, imgSrc: '' } }, props: ['pagedata'], computed: {}, components: { 'big-img':BigImg}, methods: { clickImg(e) { this.showImg = true; // 获取当前图片地址 this.imgSrc = e.currentTarget.src; }, viewImg(){ this.showImg = false; }, }, watch: {}, } </script> <style> </style>
相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!
推荐阅读:
以上是vue实现点击图片放大功能(附代码)的详细内容。更多信息请关注PHP中文网其他相关文章!