首页商品列表和单个商品组件封装

Posted liu88

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了首页商品列表和单个商品组件封装相关的知识,希望对你有一定的参考价值。

一、【首页】商品列表和单个商品组件封装

1.1 完成效果为:

1.2 组件再次说明

       commodityList.vue组件为:商品列表组件

       commodity.vue      组件为:单个商品组件

1.3 创建文件:在components/common中创建CommodityList.vue和Commodity.vue

1.4 CommodityList.vue组件传入数据给Commodity.vue作为展示。

1.5 CommodityList.vue代码为:

<template>
	<view class=\'commodity-list\'>
		<!--商品列表组件-->
		<commodity :datalist=\'commoditylist\'></commodity>
	</view>
</template>

<script>
	import commodity from \'./commodity.vue\'
	export default
		data ()
			return 
				commoditylist:[
					
						id:1,
						imUrl:"../../static/image/commodity1.jpg",
						name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
						pprice:"299",
						oprice:"659",
						discount:"5.2"
					,
					
						id:2,
						imUrl:"../../static/image/commodity2.jpg",
						name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
						pprice:"299",
						oprice:"659",
						discount:"5.2"
					,
					
						id:3,
						imUrl:"../../static/image/commodity3.jpg",
						name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
						pprice:"299",
						oprice:"659",
						discount:"5.2"
					,
					
						id:4,
						imUrl:"../../static/image/commodity4.jpg",
						name:"大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008大姨绒毛大款2020年必须买,不买你就不行了,爆款疯狂GG008",
						pprice:"299",
						oprice:"659",
						discount:"5.2"
					
				]
			
		,
		components:
			commodity
		
	
</script>

<style>
</style>

1.5 Commodity.vue代码为:

<template>
	<view class=\'commodity\'>
		<!--单个商品组件-->
		<view class=\'commodity-item\' v-for="(item,index) in datalist" :key="index">
			<image class=\'commodity-img\' src="item.imgUrl" mode=""></image>
			<view class=\'commodity-content\'>
				<text class=\'commodity-name\'>item.name</text>
				<view>
					<text class=\'pprice\'>¥item.pprice</text>
					<text class=\'oprice\'>¥item.oprice</text>
				</view>
				<text class=\'discount\'>item.discount折</text>
			</view>
		</view>
		
	</view>
</template>

<script>
	export default
		props:
			datalist:Array
		
	
</script>

<style scoped>
	.commodity
		display: flex;
		flex-wrap: wrap;
	
	.commodity-item
		width: 375rpx;
		padding-bottom: 20rpx;
	
	.commodity-img
		width: 100%;
		height: 375rpx;
	
	.commodity-content
		text-align: center;
	
	.commodity-name
		overflow: hidden;
		text-overflow: ellipsis;
		display: -webkit-box;
		-webkit-line-clamp: 2;
		-webkit-box-orient: vertical;
		color: black;
		word-break: break-all;
		padding: 6rpx 20rpx;
	
	.oprice
		text-decoration: line-through;
		font-size: 24rpx;
		color: #999999;
	
	.discount
		border-radius: 4rpx;
		border: 1px solid #ff0000;
		padding: 2rpx 10rpx;
		font-size: 20rpx;
		color: #ff0000;
	
</style>

 

以上是关于首页商品列表和单个商品组件封装的主要内容,如果未能解决你的问题,请参考以下文章

美多商城项目:商品数据库表设计准备商品数据首页广告商品列表页

mpvue采坑记(同一个页面或者组件反复进入动态数据被覆盖)

小程序项目实战—购物商城微信小程序

小程序项目实战—购物商城微信小程序

vue实战——商品放大镜组件封装及效果实现

vue实战——商品放大镜组件封装及效果实现