Używam wersji końcowej Angular2 (2.1.0). Kiedy chcę wyświetlić listę firm, pojawia się ten błąd.
w file.component.ts
:
public companies: any[] = [
{ "id": 0, "name": "Available" },
{ "id": 1, "name": "Ready" },
{ "id": 2, "name": "Started" }
];
w file.component.html
:
<tbody>
<tr *ngFor="let item of companies; let i =index">
<td>{{i}}</td>
<td>{{item.name}}</td>
</tr>
</tbody>
angular
angular2-template
Mourad Idrissi
źródło
źródło
ngfor
powoduje błąd, o którym wspomniałeś. Powinno byćngFor
Odpowiedzi:
Dodaj
BrowserModule
doimports: []
się@NgModule()
, czy jest to moduł główny (AppModule
), w przeciwnym razieCommonModule
.źródło
W moim przypadku problem polegał na tym, że mój kolega z zespołu wspomniał
*ngfor
w szablonach zamiast*ngFor
. Dziwne, że nie ma poprawnego błędu do rozwiązania tego problemu (w Angular 4).źródło
*ngFor="let diagram if diagrams"
, zwróć uwagę naif
. Lepszy byłby komunikat „błąd analizy” ...*ngFor="lang in languages"
gdzie oczekuje kąt 8*ngFor="let lang of languages"
. Dość mylący komunikat o błędzie imo: /Musisz zaimportować `` CommonModule '' do modułu, w którym używasz tych wbudowanych dyrektyw, takich jak ngFor, ngIf itp.
źródło
Rzeczy do zapamiętania:
W przypadku korzystania z modułów niestandardowych (modułów innych niż AppModule) konieczne jest zaimportowanie do niego modułu wspólnego.
źródło
Jeśli tworzysz własny moduł, dodaj CommonModule do importu w swoim własnym module
źródło
Może się to również zdarzyć, jeśli nie zadeklarujesz komponentu trasy w swoim module funkcji. Na przykład:
feature.routing.module.ts:
feature.module.ts:
Zauważ, że ViewComponent nie znajduje się w tablicy deklaracji, a powinno.
źródło
Moduł niestandardowy Wymaga wspólnego modułu
importuj {CommonModule} z "@ angular / common";
@NgModule ({import: [CommonModule]})
źródło
Używając „app-routing.module”, zapominamy o imporcie „CommonModule”. Pamiętaj o imporcie!
źródło
Miałem ten sam błąd, ale miałem CommonModule importowane. Zamiast tego zostawiłem przecinek tam, gdzie nie powinno być z powodu kopiowania / wklejania podczas dzielenia modułu:
źródło
app.module.ts naprawiono i zmieniono na: zaimportuj BrowserModule do modułu aplikacji
źródło
Otrzymałem ten sam błąd, możesz naprawić jedną z tych metod:
Jeśli nie masz żadnego zagnieżdżonego modułu
za. Zaimportuj CommonModule do modułu aplikacji
b. Zaimportuj komponent w miejscu, w którym dodajesz * ngFor w module aplikacji , zdefiniuj w deklaracjach
do. Jeśli używasz oddzielnego pliku modułu do routingu, zaimportuj CommonModule do modułu routingu w innym przypadku Importuj CommonModule do modułu aplikacji
W moim przypadku druga metoda rozwiązała mój problem.
Mam nadzieję, że to ci pomoże
źródło
U mnie problem polegał na tym, że nie zaimportowałem niestandardowego modułu
HouseModule
do plikuapp.module.ts
. Miałem inne importy.Plik: app.module.ts
źródło
Przyszli czytelnicy
Sprawdź wszystkie z poniższych:
import { CommonModule } from '@angular/common';
źródło
Zacząłem od podstawowego projektu na żywo w Angular8, który napotkał powyższy problem, ale kiedy używam "app-routing.module", zapominamy o imporcie "CommonModule". Pamiętaj o imporcie!
To rozwiąże twój błąd.
źródło
Ten problem pojawia się podczas korzystania z tras, możemy wyświetlić statyczną zawartość dowolnego modułu, ale podczas próby użycia funkcji ani, takiej jak * ngIg, nie działa, ponieważ potrzeba pracy, powiedzmy @Ruben Szeker, trzeba dodać komponent do app.module.ts w przypadku importu [], aby zakończyć, zamknij lub zabij aktualność serwera wykonywania i ponów próbę uruchomienia usługi, rozwiąże problem. jeśli to nie zadziała, spróbuj innego sposobu.
Przepraszam za mój zły angielski.
źródło
Miałem problem z powodu ** zamiast *
źródło
Napotkałem podobny błąd (
*ngIf
), nawet jeśli wszystkie moje importy były OK, a komponent został wyrenderowany bez żadnego innego błędu + routing był OK.W moim przypadku
AppModule
nie zawierał tego konkretnego modułu. Dziwne jest to, że nie narzekał na to, ale może to być związane z tym, jak działa Ivyng serve
(rodzaj ładuje moduły zgodnie z routingiem, ale jego zależności nie są brane pod uwagę).źródło
Właśnie straciłem ~ 1 godzinę z powodu tego błędu, tylko na jednej określonej stronie. Wypróbowałem wszystkie odpowiedzi tutaj, ale ostatecznie rozwiązaniem było odbudowanie całości za pomocą ng, problem po prostu zniknął ...
źródło
Więc proszę się upewnić
Brak błędów składniowych w dyrektywach
Importowane są moduły przeglądarki (w module aplikacji) i wspólne (w innych / podrzędnych) (to samo, co Günter Zöchbauer wspomniał powyżej)
Jeśli masz trasy w aplikacji, moduł tras powinien zostać zaimportowany do modułu aplikacji
Wszystkie moduły komponentu kierowanego są również importowane do modułu aplikacji, na przykład: app-routing.module.ts jest w następujący sposób:
stałe trasy: Routes = [
{ścieżka: '', komponent: CustomerComponent},
{ścieżka: 'admin', komponent: AdminComponent}
];
Następnie moduł aplikacji musi importować moduły CustomerComponent i AdminComponent w @NgModule ().
źródło
Nawet ja napotkałem ten sam problem, wypróbowałem wszystkie odpowiedzi tutaj, ale prosta zmiana pomogła mi rozwiązać ten problem, zamiast uwzględniać * ngFor w
tr
tagu, umieściłem go wtbody
tagu. Mam nadzieję, że to komuś pomoże.źródło
import CommonModule zarówno do modułu podrzędnego, jak i do komponentu
źródło