我刚开始学习Angular。
我有一个API,可以从数据库中提取5万条记录。在前端,我有两个组件
SearchComponent->提供了搜索过滤器,可以看到过滤后的数据。
FormComponent->如果我们单击搜索组件垫表中的特定记录,则将相应的ID发送到API,并获取该特定记录的数据并以表单形式显示数据。
到目前为止,这两个组件之间没有任何关系。
因此,如果我单击该记录,我将被移动到表单路线中;如果我返回搜索路线,我的搜索过滤器和席子表数据将丢失。同样,我需要填写所有搜索过滤器,并且将数据表加载到表中也需要时间。这不是最佳实践。
任何建议,如果我返回搜索路线,数据将保持不变
答案 0 :(得分:1)
第一,如果您是新手,并且正在学习Angular,正如您所说-我强烈建议您不要在Angular Material表中加载5万条记录。根据表的复杂程度(即,列的数量,列的复杂程度,它们是否可排序等),最有效点在1,000到5,000条记录之间。高于此值会导致严重延迟(至少30秒;可能是几分钟)。更好地限制从服务器返回的记录数并实现分页。
第二,表单功能与您的问题有什么关系?事实是它不是一次加载,而是需要一次又一次地加载表?甚至还有更多原因不首先加载它。
最后(这就是为什么我将其作为答案而不是评论)的原因-如果您真正决定加载大量记录,则可以使用ngx-infinite-scroll
。它将允许您仅加载屏幕记录,系统将继续加载其余记录(类似于Facebook的方式)。但是我建议您从经验丰富的Angular开发人员那里寻求帮助...或者根本不做!