图片数据是从后台获取的,怎样实现点击小图上面出现大图?

发布于 2022-09-30 23:11:15 字数 698 浏览 35 评论 0

如图:

小图的图片是后台获取到的数据,怎样才能点击小图时将小图的路径赋值给大图,让它切换。

<div class="parameter_left">
            //大图
            <div class="parameter_left_bigimg" >
              <img :src="smallimg[0].img" alt="" />
            </div>
            //小图
            <ul class="parameter_left_smallimg">
              <li
                
                v-for="(item, index) in smallimg"
                :key="index"
                @click="getBigImg(item.img)"
              >
                <img :src="item.img" alt="" class="left_img" />
              </li>
            </ul>
</div>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

橘虞初梦 2022-10-07 23:11:15

把大图引用图片的索引用变量currentIndex代替(而不是始终为0):

<div class="parameter_left">
            //大图
            <div class="parameter_left_bigimg" >
              <img :src="smallimg[currentIndex].img" alt="" />
            </div>
            //小图
            <ul class="parameter_left_smallimg">
              <li
                
                v-for="(item, index) in smallimg"
                :key="index"
                @click="getBigImg(item.img, index)"
              >
                <img :src="item.img" alt="" class="left_img" />
              </li>
            </ul>
</div>

然后script 这么写:

{
    data(){
        return {
            // ...
            currentIndex: 0
        }
    },

    methods: {
        getBigImg(img, index){
            // ...
            this.currentIndex = index;
        }
    }
}

不过看你的图片都是smallimg[].img,如果大小图的URL不一样的话需要增加一个大图专属的字段(而不是用.img)。

☆獨立☆ 2022-10-07 23:11:15

类似这样

<div class="parameter_left">
            //大图
            <div class="parameter_left_bigimg" >
              <img :src="bigImgSrc" alt="" />
            </div>
            //小图
            <ul class="parameter_left_smallimg">
              <li
                
                v-for="(item, index) in smallimg"
                :key="index"
                @click="getBigImg(item.img)"
              >
                <img :src="item.img" alt="" class="left_img" @click="bigImgSrc = item.img "/>
              </li>
            </ul>
</div>

bigImgSrc的初始化的话,就是smallimg被赋值后,顺便把[0].img赋值给bigImgSrc

踏雪无痕 2022-10-07 23:11:15

上诉描述的两种方案都是基于显示的是线上资源的情况下,如果楼主使用的是本地资源下的路径,应该要采取require的形式。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文