.post{background:#fff;填充:1.5em;}.post:not(:last-child){border-bottom:1pxsolid#ddd;}.posth2{字体大小:1.3em;填充底部:0.25rem;}.postp{颜色:#888;}如果你在社交媒体上花费太多时间,你很可能正在使用一个使用无限滚动组件的网站。无限滚动组件会在用户向下滚动页面时加载新内容,而不是将其拆分为多个页面。它们非常适合某些类型的内容,例如用户生成的内容。下面是一个无限滚动的例子。在今天的教程中,我们将使用CompositionAPI创建一个Vue3无限滚动组件。这是我们将在它结束时构建的内容的预览。如您所见,它是无限滚动,屏幕右侧的滚动条反映了这一点。现在,让我们看一下这个组件的实现。为什么还要使用无限滚动组件?我们都见过使用无限滚动来显示其内容的网站示例,但是什么时候使用它并且它比使用典型的分页系统效果更好?大家可以看看我之前分享过的一篇文章《无限滚动与分页哪个用户体验更好?如何正确使用它们》,在这里,我只是简单总结一下他们的不足。无限滚动的优点:用户参与和内容发现滚动优于点击(可用性更好)滚动适用于移动设备与Web开发有关的一切,都有充分的理由选择任何一个选项。请务必考虑哪个最适合您的项目!无论如何,学习如何构建Vue3无限滚动组件很有趣并且可能对您有用。首先,让我们从较高的层面回顾一下系统的工作原理。主要分为三个部分:生成内容的模拟API调用PostComponent呈现单个包含所有内容组件的contentListComponent并处理从API加载内容1.模拟API调用在本教程中,我们将编写一个虚拟API调用,它返回硬编码数据。重要的是,如果您在真实的后端和数据库中实现它,您可以决定根据数据库中的大小和位置以某种方式限制您的结果。这个API调用可以是任何东西,从简单应用程序中的简单数据库查询一直到更高级应用程序中的复杂推荐算法。以下是社交媒体网站常用的内容加载算法的一些不同想法:发布日期与当前用户在帖子上的活动但是,为了简单起见,我们的算法将只生成随机帖子数据并根据给定参数加载它返回X帖子.varnames=['MattMaribojoc','LebronJames','BillGates','ChildishGambino']//用于为本教程生成帖子constgetPosts=(number)=>{//生成多个帖子//在真实环境中,这将是一个数据库调用或算法letret=[]for(vari=0;i{{post.author}}
{{post.content}}