[angular] ‘tr'(최종 릴리스)의 알려진 속성이 아니기 때문에 ‘ngForOf’에 바인딩 할 수 없습니다.

Angular2 Final 릴리스 (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>



답변

추가 BrowserModuleimports: []@NgModule()이 루트 모듈 (의 경우 AppModule) 그렇지 않으면를 CommonModule.

// older Angular versions
// import {BrowserModule, CommonModule} from '@angular/common';

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


답변

제 경우 문제는 팀원 *ngfor*ngFor. 이 문제를 처리하는 데 올바른 오류가 없다는 점이 이상합니다 (Angular 4에서).


답변

ngFor, ngIf 등과 같은 내장 지시문을 사용하는 모듈에서 ‘CommonModule’을 가져와야합니다.

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


@NgModule({
  imports: [
    CommonModule
  ]
})

export class ProductModule { }


답변

기억해야 할 사항 :

사용자 지정 모듈 (AppModule 이외의 모듈)을 사용하는 경우 해당 모듈에서 공통 모듈을 가져와야합니다.

yourmodule.module.ts

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

@NgModule({
  imports: [
    CommonModule
  ],
  exports:[ ],
  declarations: []
})


답변

자체 모듈을 만드는 경우 자체 모듈의 가져 오기에 CommonModule을 추가하십시오.


답변

기능 모듈에서 경로 구성 요소를 선언하지 않은 경우에도 발생할 수 있습니다. 예를 들면 :

feature.routing.module.ts :

...
    {
        path: '',
        component: ViewComponent,
    }
...

feature.module.ts :

     imports: [ FeatureRoutingModule ],
     declarations: [],

ViewComponent는 선언 배열에 없지만 있어야합니다.


답변

맞춤 모듈에는 공통 모듈이 필요합니다.

“@ angular / common”에서 {CommonModule} 가져 오기;

@NgModule ({imports : [CommonModule]})