Ich verwende Angular2 Final Release (2.1.0). Wenn ich eine Liste von Unternehmen anzeigen möchte, wurde dieser Fehler angezeigt.
in file.component.ts
:
public companies: any[] = [
{ "id": 0, "name": "Available" },
{ "id": 1, "name": "Ready" },
{ "id": 2, "name": "Started" }
];
in 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
quelle
quelle
ngfor
dem von Ihnen erwähnten Fehler. Sollte seinngFor
Antworten:
In
BrowserModule
zuimports: []
in ,@NgModule()
wenn es der Root - Modul (AppModule
), da sonst dieCommonModule
.quelle
In meinem Fall war das Problem, dass mein Teamkollege
*ngfor
in Vorlagen statt erwähnte*ngFor
. Seltsam, dass es keinen korrekten Fehler gibt, um dieses Problem zu beheben (In Angular 4).quelle
*ngFor="let diagram if diagrams"
, beachte dieif
. Eine "Analysefehler" Nachricht wäre besser ...*ngFor="lang in languages"
wo Winkel 8 erwartet*ngFor="let lang of languages"
. Ziemlich irreführende Fehlermeldung imo: /Sie müssen 'CommonModule' in das Modul importieren, in dem Sie diese integrierten Anweisungen wie ngFor, ngIf usw. verwenden.
quelle
Dinge, an die man sich erinnern sollte:
Wenn benutzerdefinierte Module verwendet werden (andere Module als AppModule), muss das gemeinsame Modul darin importiert werden.
quelle
Wenn Sie ein eigenes Modul erstellen, fügen Sie CommonModule beim Import in Ihr eigenes Modul hinzu
quelle
Dies kann auch passieren, wenn Sie in Ihrem Funktionsmodul keine Routenkomponente deklarieren. Also zum Beispiel:
feature.routing.module.ts:
feature.module.ts:
Beachten Sie, dass sich die ViewComponent nicht im Deklarationsarray befindet, wohingegen dies der Fall sein sollte.
quelle
Benutzerdefiniertes Modul Benötigt ein gemeinsames Modul
{CommonModule} aus "@ angle / common" importieren;
@NgModule ({Importe: [CommonModule]})
quelle
Bei Verwendung von "app-routing.module" vergessen wir den Import von "CommonModule". Denken Sie daran zu importieren!
quelle
Ich hatte den gleichen Fehler, aber ich hatte das CommonModule importiert. Stattdessen habe ich ein Komma hinterlassen, das beim Kopieren / Einfügen beim Aufteilen eines Moduls nicht angezeigt werden sollte:
quelle
app.module.ts behoben und geändert in: Importieren Sie das BrowserModule in Ihr App-Modul
quelle
Ich habe den gleichen Fehler erhalten. Sie können dies durch eine der folgenden Methoden beheben:
Wenn Sie kein verschachteltes Modul haben
ein. Importieren Sie das CommonModule in Ihr App-Modul
b. Importieren Sie Ihre Komponente, in die Sie das * ngFor im App-Modul hinzufügen , und definieren Sie es in Deklarationen
c. Wenn Sie die separate Moduldatei für das Routing verwenden, importieren Sie das CommonModule in Ihr Routing-Modul. Andernfalls importieren Sie das CommonModule in Ihr App-Modul
In meinem Fall hat die 2. Methode mein Problem gelöst.
Hoffe das wird dir helfen
quelle
Für mich war das Problem, dass ich das maßgeschneiderte Modul nicht
HouseModule
in mein importiert habeapp.module.ts
. Ich hatte die anderen Importe.Datei: app.module.ts
quelle
Zukünftige Leser
Überprüfen Sie Folgendes:
import { CommonModule } from '@angular/common';
quelle
Ich bin mit Angular8 Base Live-Projekt gestartet habe das obige Problem bekommen, aber wenn Sie "app-routing.module" verwenden, vergessen wir den Import von "CommonModule". Denken Sie daran zu importieren!
Es wird Ihren Fehler lösen.
quelle
Dieses Problem tritt auf, wenn Routen verwendet werden. Wir können statischen Inhalt jedes Moduls anzeigen. Wenn Sie jedoch versuchen, eine Funktion wie * ngIg zu verwenden, funktioniert dies nicht. Wenn Sie beispielsweise @Ruben Szeker benötigen, müssen Sie Komponenten in app.module.ts hinzufügen Bei Importen [] wird das Problem gelöst, wenn der Abschluss beendet oder die tatsächliche Ausführung beendet wird. Wenn dies bei Ihnen nicht funktioniert, versuchen Sie es auf eine andere Weise.
Es tut mir leid für mein schlechtes Englisch.
quelle
Ich hatte ein Problem wegen ** statt *
quelle
Ich habe einen ähnlichen Fehler festgestellt (
*ngIf
) auch wenn alle meine Importe in Ordnung waren und die Komponente ohne anderen Fehler gerendert wurde + Routing war in Ordnung.In meinem Fall
AppModule
war dieses spezielle Modul nicht enthalten. Das Seltsame ist, dass es sich nicht darüber beschwert hat, aber dies könnte damit zusammenhängen, wie Ivy arbeitetng serve
(Art der Lademodule entsprechend dem Routing, aber seine Abhängigkeiten werden nicht berücksichtigt).quelle
Ich habe gerade ~ 1 Stunde bei diesem Fehler auf nur einer bestimmten Seite verloren. Versuchte alle Antworten hier, aber schließlich bestand die Lösung darin, das Ganze mit ng wieder aufzubauen, das Problem verschwand einfach ...
quelle
Also bitte stellen Sie sicher
Kein Syntaxfehler in Direktiven
Browser (im App-Modul) und Common (im anderen / untergeordneten) Modul werden importiert (wie oben von Günter Zöchbauer erwähnt)
Wenn Sie Routen in der Anwendung haben, sollte das Routenmodul in das App-Modul importiert werden
Alle Module der gerouteten Komponente werden auch in das App-Modul importiert, z. B.: App-routing.module.ts lautet wie folgt:
const routen: Routen = [
{Pfad: '', Komponente: CustomerComponent},
{Pfad: 'admin', Komponente: AdminComponent}
];
Dann muss das App-Modul Module von CustomerComponent und AdminComponent in @NgModule () importieren.
quelle
Selbst wenn ich mit dem gleichen Problem konfrontiert war, habe ich alle Antworten hier ausprobiert, aber eine einfache Änderung hat mir geholfen, dieses Problem zu beheben, anstatt * ngFor in das
tr
Tag aufzunehmen, habe ich es in dastbody
Tag aufgenommen. Hoffe es hilft jemandem.quelle
Importieren Sie CommonModule sowohl in das untergeordnete Modul als auch in die Komponente
quelle