跟我一起做一个vue的小项目(五)

时间:2023-03-09 22:35:40
跟我一起做一个vue的小项目(五)

接下来我们要做的是热门推荐页面,我们写一个推荐组件

使用的方法也是前端data中的数据渲染到页面上面,这里对文字过长取省略号的方法不成功使用了一个小技巧

使用了min-width:0

我们来看完整的代码和效果吧

//src\pages\home\components\Recommend.vue
<template>
<div>
<div class="recommend-title">热销推荐</div>
<ul>
<li class="item border-bottom" v-for="item of recommendList" :key="item.id">
<img class="item-img" :src="item.imgUrl" alt=""/>
<div class="item-info">
<p class="item-title">{{item.title}}</p>
<p class="item-desc">{{item.desc}}</p>
<button class="item-button">查看详情</button>
</div>
</li>
</ul>
</div>
</template>
<script>
export default {
name: 'HomeRecommend',
data () {
return {
recommendList: [
{
id: '001',
imgUrl: 'https://cdn.11bee.com/large_product_pic/0908_ZJ5301QZ5302_large_product_abbreviatedPic.jpg',
title: '百年康惠保重疾',
desc: '直击市场底价 保障130种高发疾病'
},
{
id: '002',
imgUrl: 'https://cdn.11bee.com/large_product_pic/0908_ZJ5301QZ5302_large_product_abbreviatedPic.jpg',
title: '百年康惠保重疾',
desc: '直击市场底价 保障130种高发疾病'
},
{
id: '002',
imgUrl: 'https://cdn.11bee.com/large_product_pic/0908_ZJ5301QZ5302_large_product_abbreviatedPic.jpg',
title: '百年康惠保重疾',
desc: '直击市场底价 保障130种高发疾病'
},
{
id: '002',
imgUrl: 'https://cdn.11bee.com/large_product_pic/0908_ZJ5301QZ5302_large_product_abbreviatedPic.jpg',
title: '百年康惠保重疾',
desc: '直击市场底价 保障130种高发疾病'
},
{
id: '002',
imgUrl: 'https://cdn.11bee.com/large_product_pic/0908_ZJ5301QZ5302_large_product_abbreviatedPic.jpg',
title: '百年康惠保重疾',
desc: '直击市场底价 保障130种高发疾病'
}
]
}
}
}
</script>
<style lang="stylus" scoped>
@import '~styles/mixins.styl';
.recommend-title
margin-top:.2rem
line-height:.8rem
background:#eee
text-indent:.2rem
.item
overflow:hidden
display:flex
height:1.9rem
.item-img
width:1.7rem
height:1.7rem
padding:.1rem
.item-info
flex:1
padding:.1rem
min-width:0
.item-title
line-height:.54rem
font-size:.32rem
ellipsis()
.item-desc
line-height:.4rem
color:#ccc
ellipsis()
.item-button
margin-top:.16rem
background:#ff9300
padding:0 .2rem
border-radius:.06rem
line-height:.44rem </style>

跟我一起做一个vue的小项目(五)