You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
shop-pc/pages/index/module/Banner.vue

83 lines
1.7 KiB

<!--
* @Author: ch
* @Date: 2022-05-04 17:50:33
* @LastEditors: ch
* @LastEditTime: 2022-05-04 22:15:26
* @Description: file content
-->
<template>
<div class="home-banner">
<el-carousel height="360px" indicator-position="outside">
<el-carousel-item v-for="item in bannerList" :key="item.id">
<el-image
@click="onBannerClick(item.id)"
:src="item.url"
fit="cover"
></el-image>
</el-carousel-item>
</el-carousel>
</div>
</template>
<script>
export default {
name: "HomtBanner",
data() {
return {
bannerList: [
{
url: "https://cdn.mashibing.com/shop-pc/goods13.jpg",
id: 13,
},
{
url: "https://cdn.mashibing.com/shop-pc/goods30.jpg",
id: 30,
},
{
url: "https://cdn.mashibing.com/shop-pc/goods15.jpg",
id: 15,
},
{
url: "https://cdn.mashibing.com/shop-pc/goods40.jpg",
id: 40,
},
],
};
},
methods: {
onBannerClick(goodsId) {
window.open(`${location.origin}/goods/detail/${goodsId}`);
},
},
};
</script>
<style lang="scss" scoped>
.home-banner {
/deep/.el-carousel {
.el-carousel__container {
i {
font-size: 18px;
}
}
.el-carousel__arrow {
width: 45px;
height: 45px;
}
.el-carousel__indicators {
display: none;
}
.el-carousel__arrow--left {
left: calc(50% - 380px) !important;
}
.el-carousel__arrow--right {
right: calc(50% - 550px) !important;
}
.el-image {
width: 100%;
height: 100%;
cursor: pointer;
}
}
}
</style>