html:(渲染数据的呈现)
<div id="Content">
<div
class="cellgroup"
@click="ChickQuery(item.id)"
v-for="item in pageData.fenyeZhangShiData"
:key="item.id"
>
<div class="cellBox" @click="ArticleWord">
<div class="titel">
<p>{{ item.title }}</p>
</div>
<div class="word">
<p v-html="item.conten"></p>
</div>
<div class="infor">
<div class="antvr">
<img :src="item.user_pic" alt="" srcset="" />
</div>
<div class="name">
<p>{{ item.name }}</p>
</div>
<div class="egs">
<div>
<van-icon name="eye-o" />
<p>0</p>
</div>
<div>
<van-icon name="comment-o" />
<p>{{ item.leavingamessage }}</p>
</div>
<div>
<van-icon name="thumb-circle-o" />
<p>{{ item.give }}</p>
</div>
</div>
<div class="time">
<p>{{ item.date }}</p>
</div>
</div>
</div>
</div>
</div>
JS:
const pageData = reactive({
page: 1, // 页数
totalPage: 7, // 每次渲染多少条数据
fenyeZhangShiData: [], // 后端拿到数据 保存 渲染
});
接口
const articlerendering = () => {
axios
.post(
"/articlerendering",
qs.stringify({
page: pageData.page,
totalPage: pageData.totalPage,
})
)
.then((result) => {
if (result.data.code == 0) {
const integralList = result.data.data;
pageData.fenyeZhangShiData.push(...integralList);
}
});
};
滚动逻辑:
const lazyLoading = () => {
// // 滚动到底部,再加载的处理事件
const scrollTop =
document.documentElement.scrollTop || document.body.scrollTop;
const clientHeight = document.documentElement.clientHeight;
const scrollHeight = document.documentElement.scrollHeight;
if (scrollTop + clientHeight <= scrollHeight) {
// 滚动到底部,逻辑代码
pageData.page++;
//记住滚动到底的时候,当前页需要加1
articlerendering();
}
};
浙公网安备 33010602011771号