| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 | <template>  <div class="shop"  :class="'terminal' + terminal">    <swiper :options="swiperOption">      <swiper-slide class="shop-item" v-for="(item,index) in imgList" :key="index">        <div class="shop-item-warp">          <img class="img" :src="item.img">          <div class="a-link" @click="jumpLink(item.linkObj)">            进店逛逛<i class="iconfont icon-arrow-right"></i>          </div>        </div>      </swiper-slide>    </swiper>    <div class="pagination shop-pagination"></div>  </div></template><script>import { directive, Swiper, SwiperSlide } from 'vue-awesome-swiper'import 'swiper/css/swiper.css'import {funMixin} from '../config/mixin'export default {  name: 'shop',  mixins: [funMixin],  data () {    return {      swiperOption: {        autoplay: false, // 可选选项,自动滑动        loop: true,        pagination: {          el: '.shop-pagination'        }      }    }  },  props: {    terminal: {      type: Number,      default: 4    },    componentContent: {      type: Object    }  },  components: {    Swiper,    SwiperSlide  },  directives: {    swiper: directive  },  computed: {    imgList: function () {      console.log(this.componentContent)      return this.componentContent.imgTextData.filter(function (item) {        return item.img      })    }  }}</script><style lang="scss" scoped>.shop{  position: relative;  &-item{    &-warp{      position: relative;      padding: 0 20px;      .img{        width: 100%;        height: 420px;      }      .a-link{        width: 220px;        height: 80px;        line-height: 80px;        background: linear-gradient(225deg, #585858 0%, #333333 100%);        box-shadow: 0px 20px 40px rgba(0, 0, 0, 0.3);        display: block;        color: #fff;        font-size: 28px;        text-align: center;        position: absolute;        right: 0;        bottom: 30px;        .icon{          margin-left: 20px;        }      }    }  }  .pagination{    display: flex;    justify-content: center;    padding:20px 0;    ::v-deep .swiper-pagination-bullet{      width: 12px;      height: 12px;      background: #333333;      border-radius: 50%;      opacity: 0.2;      margin: 0 10px;    }    ::v-deep .swiper-pagination-bullet-active{      width: 24px;      height: 12px;      background: #333333;      opacity: 1;      border-radius: 8px;    }  }}</style>
 |