跳到主要内容
版本:v7

Angular 性能优化

在 Ionic 组件中使用 *ngFor

当在 Ionic 组件中使用 *ngFor 时,我们推荐使用 Angular 的 trackBy 选项。这能让 Angular 以更高效的方式管理变更传播,仅更新组件内部的内容,而不是完全重新创建组件。

通过使用 trackBy,您可以为每个循环元素提供稳定的标识,这样 Angular 就能跟踪迭代器中的插入和删除操作。下面是如何使用 trackBy 的示例:

home.page.html

<ion-item *ngFor="let item of items; trackBy:trackItems">
<ion-label>{{ item.value }}</ion-label>
</ion-item>

home.component.ts


items = [
{ id: 0, value: 'Item 0' },
{ id: 1, value: 'Item 1' },
...
]

trackItems(index: number, itemObject: any) {
return itemObject.id;
}

在这个示例中,我们有一个名为 items 的对象数组。每个对象包含一个 value 和一个 id。通过使用 trackBy,我们传入了一个 trackItems 函数,该函数返回每个对象的 id。这个 id 用于为每个循环元素提供稳定的标识。

有关 Angular 如何使用 ngFor 管理变更传播的更多信息,请参见 https://angular.io/api/common/NgForOf#change-propagation

Ionic 团队推荐

如何在 Ionic Angular 中实现懒加载

使用骨架屏提升感知性能

Angular 团队推荐

构建高性能和渐进式的 Angular 应用 - web.dev

社区推荐

Ionic 中的高性能动画 - Josh Morony

Ionic 中的高性能列表筛选 - Josh Morony

通过高效的 DOM 写入提升 Ionic 性能 - Josh Morony

Ionic 框架很快(但您的代码可能不快) - Josh Morony

备注

您有想要分享的指南吗?点击下方的 编辑此页面 按钮。