0Pricing
Angular Academy · 课时

使用 @for 循环

使用 @for 和 track 表达式渲染列表。

使用 @for 循环 是 CoddyKit 上的免费 Angular Academy 课时。 这是第 2 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Angular Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Angular Academy 课程共包含 4 节课。

使用 for 循环

at-for 区块会为集合中的每个项目重复渲染内容。它取代了旧的带星号 ngFor 指令,并且必须包含跟踪表达式。

基本 for 语法

先写 @ 符号和单词 for,然后写 item of items,最后添加必需的 track 子句并指定唯一键。

// @for (item of items; track item.id) {
//   <li>{{ item.name }}</li>
// }

为何必须使用 track

track 表达式会告诉 Angular 如何在发生更改时识别每个项目,因此 Angular 可以复用 DOM 节点,而不必重新创建它们。这会显著提升性能。

按身份跟踪

如果项目没有稳定的 id(例如由基本字符串组成的列表),您可以直接按项目本身进行跟踪。

// @for (name of names; track name) {
//   <li>{{ name }}</li>
// }

empty 区块

当集合中没有项目时,at-empty 区块会进行渲染。它位于 at-for 区块的右花括号之后。

// @for (item of items; track item.id) {
//   <li>{{ item.name }}</li>
// } @empty {
//   <li>No items found</li>
// }

上下文变量

在 at-for 区块中,您可以使用许多有用的变量,包括 index、count、first、last、even 和 odd。使用 let 捕获这些变量。

// @for (item of items; track item.id; let i = $index) {
//   <li>{{ i }}: {{ item.name }}</li>
// }

index 变量

dollar-index 值表示当前项目从零开始的位置,通常会像上面所示为其设置局部变量别名。

first 和 last

对于第一个和最后一个项目,dollar-first 和 dollar-last 布尔值为 true,可用于设置样式或添加分隔符。

even 和 odd

dollar-even 和 dollar-odd 布尔值有助于设置交替的行样式。

遍历信号

集合可以来自信号;只需在 for 表达式中调用该信号即可。

// @for (todo of todos(); track todo.id) {
//   <li>{{ todo.text }}</li>
// }

性能优势

由于 track 是必需的,不带 trackBy 的新 at-for 比带星号 ngFor 更快,因为 Angular 始终知道如何将项目与 DOM 节点匹配。

快速检查:循环

for 区块的要求。

回顾:循环

您学习了包含必需 track 表达式的 at-for 区块、用于空集合的 at-empty 区块,以及 index、first、last、even 和 odd 等上下文变量。它取代了带星号的 ngFor。下一步:使用 at-switch 进行切换。

常见问题解答

「使用 @for 循环」课时是免费的吗?

是的 — 「使用 @for 循环」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Angular Academy 课程的其余内容,请升级到 CoddyKit PRO。 Angular Academy 课程共包含 4 节课。

「使用 @for 循环」这节课中我会学到什么?

使用 @for 和 track 表达式渲染列表。 你通过在浏览器中直接运行的动手代码来练习 Angular Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Angular Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Angular Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 2 节课,共 4 节。

「使用 @for 循环」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Angular Academy 课中编写并运行代码吗?

能。每节 Angular Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. 使用 @if 进行条件渲染
  2. 使用 @for 循环
  3. 使用 @switch 进行切换
  4. 使用 @defer 延迟加载
← 返回 Angular Academy