2 changed files with 143 additions and 1 deletions
@ -0,0 +1,139 @@
@@ -0,0 +1,139 @@
|
||||
<template> |
||||
<div id="Community"> |
||||
<Scroll class="Scroll" |
||||
@pulldown="loadData"> |
||||
<div v-masonry class="goods-list" |
||||
transition-duration="0s" |
||||
item-selector=".goods"> |
||||
<div v-masonry-tile class="goods" v-for="(item, index) in state.list"> |
||||
<div class="card"> |
||||
<!-- <img class="poster" v-lazy="Utils.$imgPreview(item.src)"/>--> |
||||
<img class="poster" :src="Utils.$imgPreview(item.src)"/> |
||||
<div class="bottom"> |
||||
<div class="title"> |
||||
2022新款Apple/苹果iPhone 14 Plus手机6.7 |
||||
</div> |
||||
<div class="b2"> |
||||
<div class="user"> |
||||
<img class="avatar" :src="Utils.$imgPreview(item.author)"/> |
||||
<div class="name">一二三</div> |
||||
</div> |
||||
<div class="star"> |
||||
<img src="@/assets/img/icon/components/like-gray-small.png" alt="" class="love-image"> |
||||
<div class="num">12312</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</div> |
||||
</Scroll> |
||||
</div> |
||||
</template> |
||||
|
||||
<script setup> |
||||
import {onMounted, reactive} from "vue"; |
||||
import Utils from "@/utils"; |
||||
import Scroll from "@/components/Scroll.vue"; |
||||
|
||||
const state = reactive({ |
||||
list: [], |
||||
listEl: null |
||||
}) |
||||
|
||||
function loadData() { |
||||
console.log('loadData') |
||||
for (let i = 1; i < 12; i++) { |
||||
let temp = { |
||||
src: new URL(`../../assets/img/poster/${i}.jpg`, import.meta.url).href, |
||||
author: new URL(`../../assets/img/avatar.png`, import.meta.url).href, |
||||
} |
||||
state.list.push(temp) |
||||
} |
||||
} |
||||
|
||||
onMounted(() => { |
||||
for (let i = 1; i < 12; i++) { |
||||
let temp = { |
||||
src: new URL(`../../assets/img/poster/${i}.jpg`, import.meta.url).href, |
||||
author: new URL(`../../assets/img/avatar.png`, import.meta.url).href, |
||||
} |
||||
state.list.push(temp) |
||||
} |
||||
}) |
||||
</script> |
||||
|
||||
<style scoped lang="less"> |
||||
@import "@/assets/less/index"; |
||||
|
||||
#Community { |
||||
font-size: 14rem; |
||||
color: white; |
||||
background: black; |
||||
|
||||
.Scroll { |
||||
//height: calc(100vh - @header-height) !important; |
||||
height: calc(100vh - @header-height) !important; |
||||
} |
||||
|
||||
.goods-list { |
||||
|
||||
} |
||||
|
||||
.goods { |
||||
width: 50%; |
||||
padding: 3rem; |
||||
box-sizing: border-box; |
||||
|
||||
.card { |
||||
border-radius: 4rem; |
||||
overflow: hidden; |
||||
background: @main-bg; |
||||
|
||||
img { |
||||
width: 100%; |
||||
} |
||||
|
||||
.bottom { |
||||
color: gainsboro; |
||||
padding: 10rem; |
||||
|
||||
.title { |
||||
font-size: 16rem; |
||||
margin-bottom: 8rem; |
||||
} |
||||
|
||||
.b2 { |
||||
display: flex; |
||||
justify-content: space-between; |
||||
align-items: center; |
||||
|
||||
.user { |
||||
display: flex; |
||||
font-size: 12rem; |
||||
|
||||
img { |
||||
width: 15rem; |
||||
border-radius: 50%; |
||||
margin-right: 10rem; |
||||
} |
||||
} |
||||
|
||||
.star { |
||||
display: flex; |
||||
|
||||
img { |
||||
width: 15rem; |
||||
margin-right: 5rem; |
||||
} |
||||
|
||||
.num { |
||||
font-size: 13rem; |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
} |
||||
</style> |
Loading…
Reference in new issue