J'utilise la version finale d'Angular2 (2.1.0). Lorsque je veux afficher une liste d'entreprises, j'ai cette erreur.
dans file.component.ts
:
public companies: any[] = [
{ "id": 0, "name": "Available" },
{ "id": 1, "name": "Ready" },
{ "id": 2, "name": "Started" }
];
dans 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
la source
la source
ngfor
donne l'erreur que vous avez mentionnée. Devrait êtrengFor
Réponses:
Ajouter
BrowserModule
àimports: []
en@NgModule()
si c'est le module racine (AppModule
), sinonCommonModule
.la source
Dans mon cas, le problème était que mon coéquipier était mentionné
*ngfor
dans les modèles au lieu de*ngFor
. Étrange qu'il n'y ait pas d'erreur correcte pour gérer ce problème (dans Angular 4).la source
*ngFor="let diagram if diagrams"
, remarquez leif
. Un message "parse error" serait mieux ...*ngFor="lang in languages"
où angular 8 attend*ngFor="let lang of languages"
. Message d'erreur assez trompeur imo: /Vous devez importer 'CommonModule' dans le module où vous utilisez ces directives intégrées comme ngFor, ngIf etc.
la source
Choses à retenir:
Lorsque des modules personnalisés sont utilisés (modules autres que AppModule), il est nécessaire d'y importer le module commun.
la source
Si vous créez votre propre module, ajoutez CommonModule dans les importations dans votre propre module
la source
Cela peut également se produire si vous ne déclarez pas de composant d'itinéraire dans votre module d'entités. Donc par exemple:
feature.routing.module.ts:
feature.module.ts:
Notez que ViewComponent n'est pas dans le tableau des déclarations, alors qu'il devrait l'être.
la source
Module personnalisé nécessite un module commun
import {CommonModule} de "@ angular / common";
@NgModule ({importations: [CommonModule]})
la source
Lorsque vous utilisez "app-routing.module", nous oublions d'importer "CommonModule". N'oubliez pas d'importer!
la source
J'ai eu la même erreur mais j'ai importé le CommonModule. Au lieu de cela, j'ai laissé une virgule là où elle ne devrait pas être à cause du copier / coller lors du fractionnement d'un module:
la source
app.module.ts corrigé et modifié en: importez le BrowserModule dans votre module d'application
la source
J'obtenais la même erreur, vous pouvez corriger via l'une de ces méthodes:
Si vous n'avez aucun module imbriqué
une. Importez le CommonModule dans votre module d'application
b. Importez votre composant là où vous ajoutez le * ngFor dans le module d'application , définissez-le dans les déclarations
c. Si vous utilisez le fichier de module séparé pour le routage, importez le CommonModule dans votre module de routage sinon Importez le CommonModule dans votre module d'application
Dans mon cas, la 2ème méthode a résolu mon problème.
J'espère que ceci vous aidera
la source
Pour moi, le problème était que je n'avais pas importé le module personnalisé
HouseModule
dans monapp.module.ts
. J'avais les autres importations.Fichier: app.module.ts
la source
Futurs lecteurs
Vérifiez chacun des éléments suivants:
import { CommonModule } from '@angular/common';
la source
Je suis commencé sur le projet en direct de base Angular8, j'ai le problème ci-dessus, mais lorsque vous utilisez "app-routing.module", nous oublions d'importer "CommonModule". N'oubliez pas d'importer!
Cela résoudra votre erreur.
la source
Ce problème apparaît lorsque vous utilisez Routes, nous pouvons afficher le contenu statique de n'importe quel module, mais lorsque vous essayez d'utiliser une fonctionnalité telle que * ngIg ne fonctionne pas, pour un travail comme @Ruben Szeker, il faudrait ajouter un composant dans app.module.ts sur les importations [], pour terminer, fermer ou tuer le serveur d'exécution de l'actualité et réessayer d'exécuter le service, résoudra le problème. si cela ne fonctionne pas pour vous, je vais essayer un autre moyen.
Je suis désolé pour mon mauvais anglais.
la source
J'ai eu un problème à cause de ** à la place *
la source
J'ai rencontré une erreur similaire (
*ngIf
) même si toutes mes importations étaient OK et le composant a été rendu sans aucune autre erreur + le routage était OK.Dans mon cas,
AppModule
n'incluait pas ce module spécifique. La chose étrange est qu'il ne s'est pas plaint de cela, mais cela pourrait être lié à la façon dont Ivy fonctionneng serve
(sorte de modules de charge en fonction du routage, mais ses dépendances ne sont pas prises en compte).la source
Juste perdu ~ 1h sur cette erreur, sur une seule page spécifique. J'ai essayé toutes les réponses ici, mais finalement la solution était de reconstruire le tout avec ng, le problème a juste disparu ...
la source
Alors s'il vous plaît assurez-vous
Aucune erreur de syntaxe dans les directives
Le navigateur (dans le module d'application) et les modules communs (dans d'autres / enfants) sont importés (comme Günter Zöchbauer mentionné ci-dessus)
Si vous avez des routes dans l'application, le module de route doit être importé dans le module d'application
Tous les modules du composant routé sont également importés dans App Module, par exemple: app-routing.module.ts est comme suit:
routes const: Routes = [
{chemin: '', composant: CustomerComponent},
{chemin: 'admin', composant: AdminComponent}
];
Ensuite, le module App doit importer les modules de CustomerComponent et AdminComponent dans @NgModule ().
la source
Même si j'ai rencontré le même problème, j'ai essayé toutes les réponses ici, mais un simple changement m'a aidé à résoudre ce problème, au lieu d'inclure * ngFor dans la
tr
balise, je l'ai incluse dans latbody
balise. J'espère que ça aide quelqu'un.la source
importer CommonModule dans le module enfant et le composant
la source