ngFor 不会抛出错误

ngFor doesn't throw error

我试图让 ngFor 遍历一个数组。意识到无论我输入什么,它都没有做任何事情。

<p ngFor="let applier of tempAahsbdkasjbdnpplicants">{{applier}}</p>

这显然是非常错误的,但 return 没有任何错误。有人知道吗?

ngFor 之前缺少 *。试试这个:

<p *ngFor="let applier of tempAahsbdkasjbdnpplicants">{{applier}}</p>

应该是,

<p *ngFor="let applier of tempAahsbdkasjbdnpplicants">{{applier}}</p>

应该是

<p *ngFor="let applier of tempAahsbdkasjbdnpplicants">{{applier}}</p>

了解更多信息

更新

尝试在上面打印 *ngFor

{{tempAahsbdkasjbdnpplicants | json}}

通过打印此信息,您将了解您的 JSON 是否可用

错过了 *

<p *ngFor="let applier of tempAahsbdkasjbdnpplicants">{{applier}}</p>

它是由 Angular 开发团队维护的标准。 docs

中有更多详细信息

注:*表示结构指令。

ngFor 是 angular2 中的指令。您可以将您的内容包装在 template 标记中并将指令应用于它,您应该会得到预期的错误 例如:

<template ngFor [ngForOf]="episodes" let-episode>
  <app-for-example [episode]="episode">
    {{episode.title}}
  </app-for-example>
</template>

*ngFor 是这个确切指令的语法糖。在内部,*ngFor 处理如下: 1.标签包裹在<template>标签中 2. *ngFor 然后在指令语法 ngFor 中转换并应用于 <template> 标记

我猜你一定是提到了一些 example/tutorial 而错过了这部分

我假设您的组件看起来像这样,其中有一个与组件关联的数组

export class SomeComponent {
    somearray: string[];
}

并且在您的 html 中,您可以访问此数组以显示重复元素,如下所示,

<p *ngFor="let applier of somearray">{{applier}}</p>

但在你的情况下,我假设你故意输入了一个无效的数组名称如下,并期望在 运行 时间[=13= 抛出错误]

<p *ngFor="let applier of tempAahsbdkasjbdnpplicants">{{applier}}</p>

但在这种情况下 angular 不会引发错误,这是正常行为。当你使用像 "tempAahsbdkasjbdnpplicants" 这样不包含在范围内的变量名时,angular 将其假设为 'undefined' value.When 你尝试遍历 'undefined' 或 'null' 变量使用 *ngFor,Angular 只是简单地忽略迭代而不会引发错误。