在Angular 6项目中,我们对p表使用PrimeNG延迟加载功能。另一方面,PrimeNG中有一个延迟机制,如下所述:
当您使用数据迭代组件(例如p-dataTable,p-dataList,p-dataGrid等)时,defer指令对于延迟加载大型数据集非常有用。当组件通过页面滚动变为可见时,onLoad回调用于按需从数据源查询数据。该查询不会在页面加载时启动,以便快速加载页面。一个具体的例子在这里实现:
<div pDefer (onLoad)="loadData()">
<ng-template>
<p-dataTable [value]="employees">
<p-column field="firstName" header="First Name"></p-column>
<p-column field="lastName" header="Last Name"></p-column>
<p-column field="profession" header="Profession"></p-column>
<p-column field="department" header="Department"></p-column>
</p-dataTable>
</ng-template>
</div>
但是,我想知道我们在这个p表中使用延迟加载是什么,如下所示。因为据我的尝试,两者之间没有任何冲突。也许我是错的,是否有必要在延迟加载中使用Deferring机制(pDefer)?
<ng-template>
<p-dataTable [value]="employees" [lazy]="true" (onLazyLoad)="loadLazyData($event)">
<p-column field="firstName" header="First Name"></p-column>
<p-column field="lastName" header="Last Name"></p-column>
<p-column field="profession" header="Profession"></p-column>
<p-column field="department" header="Department"></p-column>
</p-dataTable>
</ng-template>