Blame view
src/components/Card/Card.vue
1.68 KB
fb85b244c user页面 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 |
<template> <view class="card" @tap="toGoods(goods.goods_id)"> <image mode="widthFix" :src="goods.img" ></image> <view class="name">{{goods.name}}</view> <view class="info"> <view class="priceBox"> <view class="price">{{goods.price}}</view> <view class="originCost">{{goods.originCost}}</view> </view> <view class="slogan">{{goods.slogan}}</view> </view> </view> </template> <script> export default { props: { /** * 商品数据 */ goods: { goods_id: Number, img: String, name: String, originCost:String, price: String, slogan:String } }, created() { }, data() { return { }; }, methods:{ toGoods(id){ console.log(id) uni.navigateTo({ url: `../detail/detail?oderId=1`, success: res => {}, fail: () => {}, complete: () => {} }); } } } </script> <style lang="scss"> image{ width: 100%; height: 120rpx; } .name{ width: 92%; padding: 5px 4%; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; text-align: justify; overflow: hidden; font-size: 24rpx; color: #333333; } .info{ display: flex; justify-content: space-between; align-items: center; width: 92%; padding: 5px 4% 5px 4%; .priceBox{ display: flex; justify-content: space-between; align-items: center; .price{ color: #EB5D3B; font-size: 28rpx; font-weight: 600; margin-right: 10rpx; } .originCost{ text-decoration:line-through; color: #999999; font-size: 20rpx; } } .slogan{ color: #999999; font-size: 20rpx; } } </style> |