Не удается привязать к 'ngForOf', так как это не известное свойство 'tr' (final release)


Я использую Angular2 Final release (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>
4 54

4 ответа:

добавить BrowserModule to imports: [] на @NgModule() если это корневой модуль (AppModule), в противном случае CommonModule.

import {CommonModule} from '@angular/common';
..
..
@NgModule({
  imports: [BrowserModule, /* or CommonModule */],
  ..
})

вы должны импортировать "CommonModule" в компоненте,где вы используете эти встроенные директивы, такие как ngFor, ngIf и т. д.

import { CommonModule } from "@angular/common";


@NgModule({
  imports: [
    CommonModule
  ]
})

export class ProductModule { }

в моем случае проблема заключалась в том, что мой товарищ по команде упомянул *ngfor в шаблонах вместо *ngFor. Странно, что нет правильной ошибки для обработки этой проблемы (в Angular 4).

Если вы делаете свой собственный модуль, то добавьте CommonModule в импорт в свой собственный модуль