我使用的是Angular2 2.1.0。当我想要显示公司列表时,我得到了这个错误。

在file.component.ts中:

public companies: any[] = [
    { "id": 0, "name": "Available" },
    { "id": 1, "name": "Ready" },
    { "id": 2, "name": "Started" }
];

在file.component.html中:

<tbody>
  <tr *ngFor="let item of companies; let i =index">
     <td>{{i}}</td>
     <td>{{item.name}}</td>
  </tr>
</tbody>

当前回答

对于Angular 10:

将BrowserModule添加到routes模块的导入中。 确保你在app模块声明中添加了不工作的组件。

如果不执行第2步,将触发此错误!

请务必重新启动ng服务!!

其他回答

对我来说,解决问题的方法是对我的项目做一个git克隆并运行(像往常一样):

npm install

我有一个问题,因为json数据中的空白。

我遇到过类似的错误(*ngIf),即使我所有的导入都是OK的,并且组件呈现时没有任何其他错误+路由是OK的。

在我的例子中,AppModule没有包含这个特定的模块。奇怪的是,它并没有抱怨这一点,但这可能与Ivy使用ng serve的方式有关(类似于根据路由加载模块,但不考虑它的依赖关系)。

我认为我的情况是一个罕见的情况,但我还是会回答。

我没有任何语法错误,我导入了BrowserModule,我重新声明了我的IDE (VS Code),但我仍然在我的模板中有红线,因为我使用了*ngFor。

这是因为我正在使用一个扩展,Angular语言服务,但它相当老了。更新后,错误停止出现。

如果您正在创建自己的模块,则在自己的模块中导入CommonModule