需求:点击轮播图中的图片跳转到外部链接,比如跳转到csdn首页。
在这里插入图片描述
实现:
1.写出大体框架

<template>
  <el-carousel :interval="4000" height="400px" ref="carousel" @click.native="linkTo">
    <el-carousel-item v-for="item in imgs" :key="item.url" >
      <img :src="item.url"/>
    </el-carousel-item>
  </el-carousel>
</template>

2.添加img数据

imgs:[
                {url:require('../assets/img/bilibili.jpg'),link:'https://space.bilibili.com/231824541'},
                {url:require('../assets/img/csdn.png'),link:'https://blog.csdn.net/weixin_43719616?spm=1001.2101.3001.5343'}
            ]

3.添加点击事件

linkTo () {
            let activeIndex = this.$refs.carousel.activeIndex
            window.open(this.imgs[activeIndex].link,"_blank")
        }

4.完整代码

<template>
  <el-carousel :interval="4000" height="400px" ref="carousel" @click.native="linkTo">
    <el-carousel-item v-for="item in imgs" :key="item.url" >
      <img :src="item.url"/>
    </el-carousel-item>
  </el-carousel>
</template>
<script>
export default {
     methods: {
        linkTo () {
            let activeIndex = this.$refs.carousel.activeIndex
            window.open(this.imgs[activeIndex].link,"_blank")
        }
    },
    data:function(){
        return{
            imgs:[
                {url:require('../assets/img/bilibili.jpg'),link:'https://space.bilibili.com/231824541'},
                {url:require('../assets/img/csdn.png'),link:'https://blog.csdn.net/weixin_43719616?spm=1001.2101.3001.5343'}
            ]
        }
    }
}
</script>
<style>
  .el-carousel__item h3 {
    color: #475669;
    font-size: 18px;
    opacity: 0.75;
    line-height: 300px;
    margin: 0;
  }
  
  .el-carousel__item:nth-child(2n) {
    background-color: #99a9bf;
  }
  
  .el-carousel__item:nth-child(2n+1) {
    background-color: #d3dce6;
  }
</style>

over

Logo

前往低代码交流专区

更多推荐