Javascript 如何以正确/更快的方式呈现大数据列表
我有一个很长的数据列表。我正在渲染它,如下所示。它需要大约4秒钟来显示组件,我希望它立即显示。有什么办法可以做到这一点吗?我已经尝试过了,但无法让组件渲染得更快Javascript 如何以正确/更快的方式呈现大数据列表,javascript,angular,angular8,Javascript,Angular,Angular8,我有一个很长的数据列表。我正在渲染它,如下所示。它需要大约4秒钟来显示组件,我希望它立即显示。有什么办法可以做到这一点吗?我已经尝试过了,但无法让组件渲染得更快 {{stat.text}} {{stat.text}} 使用虚拟滚动: 仅通过在屏幕上呈现适合的项目来高效地显示大型元素列表 例如: HTML:- <cdk-virtual-scroll-viewport itemSize="50" class="example-viewport"> <div *cdkVir
{{stat.text}}
{{stat.text}}
使用虚拟滚动:
仅通过在屏幕上呈现适合的项目来高效地显示大型元素列表
例如:
HTML:-
<cdk-virtual-scroll-viewport itemSize="50" class="example-viewport">
<div *cdkVirtualFor="let item of items" class="example-item">{{item}}</div>
</cdk-virtual-scroll-viewport>
.example-viewport {
height: 200px;
width: 200px;
border: 1px solid black;
}
.example-item {
height: 50px;
}
import {ChangeDetectionStrategy, Component} from '@angular/core';
/** @title Basic virtual scroll */
@Component({
selector: 'cdk-virtual-scroll-overview-example',
styleUrls: ['cdk-virtual-scroll-overview-example.css'],
templateUrl: 'cdk-virtual-scroll-overview-example.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CdkVirtualScrollOverviewExample {
items = Array.from({length: 100000}).map((_, i) => `Item #${i}`);
}
TS:-
<cdk-virtual-scroll-viewport itemSize="50" class="example-viewport">
<div *cdkVirtualFor="let item of items" class="example-item">{{item}}</div>
</cdk-virtual-scroll-viewport>
.example-viewport {
height: 200px;
width: 200px;
border: 1px solid black;
}
.example-item {
height: 50px;
}
import {ChangeDetectionStrategy, Component} from '@angular/core';
/** @title Basic virtual scroll */
@Component({
selector: 'cdk-virtual-scroll-overview-example',
styleUrls: ['cdk-virtual-scroll-overview-example.css'],
templateUrl: 'cdk-virtual-scroll-overview-example.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CdkVirtualScrollOverviewExample {
items = Array.from({length: 100000}).map((_, i) => `Item #${i}`);
}
这里有一个链接供您参考:-我们需要更多信息:数据来自哪里?组件的生命周期挂钩中有什么?我现在实际上正在使用模拟数据。这是链接。我正在导入数据并将其分配到构造函数中
<cdk-virtual-scroll-viewport itemSize="50" class="example-viewport">
<div *cdkVirtualFor="let item of items" class="example-item">{{item}}</div>
</cdk-virtual-scroll-viewport>
.example-viewport {
height: 200px;
width: 200px;
border: 1px solid black;
}
.example-item {
height: 50px;
}
import {ChangeDetectionStrategy, Component} from '@angular/core';
/** @title Basic virtual scroll */
@Component({
selector: 'cdk-virtual-scroll-overview-example',
styleUrls: ['cdk-virtual-scroll-overview-example.css'],
templateUrl: 'cdk-virtual-scroll-overview-example.html',
changeDetection: ChangeDetectionStrategy.OnPush,
})
export class CdkVirtualScrollOverviewExample {
items = Array.from({length: 100000}).map((_, i) => `Item #${i}`);
}