1. 效果
2. 代码
- components/index目录下新建Shop.vue组件
- pages/index/index.vue引入Shop.vue组件
- Shop.vue组件分为:上大图,下滑块的内容布局,滑块采用uni-app提供组件scroll-view。
scroll-view需要给父元素加入width:100%;white-space: nowrap;其内容需要加入样式display: inline-block; - 滑块内容调用了单个商品组件,其中改变了是否换行以及文字大小
Shop.vue代码
<template>
<view class='shop'>
<view class='shop-item'>
<view class='shop-big'>
<image class='shop-big' src="../../static/img/shop.jpg" mode=""></image>
</view>
<scroll-view scroll-x="true" class='scroll-content'>
<view class='scroll-item'>
<Commodity
:dataList='shopList'
wrap='no-wrap'
itemW='200rpx'
bigH='200rpx'
nameSize='20rpx'
></Commodity>
</view>
</scroll-view>
</view>
</view>
</template>
<script>
import Commodity from '../common/Commodity.vue'
export default {
data () {
return {
shopList:[
{
id:1,
imgUrl:"../../static/img/shop1.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
},
{
id:2,
imgUrl:"../../static/img/shop2.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
},
{
id:3,
imgUrl:"../../static/img/shop3.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
},
{
id:4,
imgUrl:"../../static/img/shop4.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
},
{
id:1,
imgUrl:"../../static/img/shop1.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
},
{
id:2,
imgUrl:"../../static/img/shop2.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
},
{
id:3,
imgUrl:"../../static/img/shop3.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
},
{
id:4,
imgUrl:"../../static/img/shop4.jpg",
name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
pprice:"299",
oprice:"659",
discount:"5.2"
}
]
}
},
components:{
Commodity
}
}
</script>
<style scoped>
.shop-big{
width:100%;
height: 350rpx;
}
.scroll-content{
width: 100%;
white-space: nowrap;
}
.scroll-item{
display: inline-block;
}
</style>