Estoy usando la versión final de Angular2 (2.1.0). Cuando quiero mostrar una lista de empresas, aparece este error.
en file.component.ts
:
public companies: any[] = [
{ "id": 0, "name": "Available" },
{ "id": 1, "name": "Ready" },
{ "id": 2, "name": "Started" }
];
en 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
fuente
fuente
ngfor
da el error que mencionó. Debería serngFor
Respuestas:
Añadir
BrowserModule
aimports: []
en@NgModule()
si es el módulo de raíz (AppModule
), de lo contrario elCommonModule
.fuente
En mi caso, el problema fue que mi compañero de equipo mencionó
*ngfor
en plantillas en lugar de*ngFor
. Es extraño que no haya un error correcto para manejar este problema (en Angular 4).fuente
*ngFor="let diagram if diagrams"
, observe elif
. Un mensaje de "error de análisis" sería mejor ...*ngFor="lang in languages"
donde se espera angular 8*ngFor="let lang of languages"
. Mensaje de error bastante engañoso imo: /Debe importar 'CommonModule' en el módulo donde está utilizando estas directivas integradas como ngFor, ngIf, etc.
fuente
Cosas para recordar:
Cuando se utilizan módulos personalizados (módulos distintos de AppModule), es necesario importar el módulo común en él.
fuente
Si está creando su propio módulo, agregue CommonModule en las importaciones en su propio módulo
fuente
Esto también puede suceder si no declara un componente de ruta en su módulo de funciones. Así por ejemplo:
feature.routing.module.ts:
feature.module.ts:
Observe que ViewComponent no está en la matriz de declaraciones, cuando debería estarlo.
fuente
Módulo personalizado Necesita módulo común
importar {CommonModule} desde "@ angular / common";
@NgModule ({importaciones: [CommonModule]})
fuente
Cuando usamos "app-routing.module" nos olvidamos de importar "CommonModule". ¡Recuerda importar!
fuente
Tuve el mismo error pero tenía el CommonModule importado. En su lugar, dejé una coma donde no debería estar debido a copiar / pegar al dividir un módulo:
fuente
app.module.ts corregido y cambiado a: importar el BrowserModule en el módulo de su aplicación
fuente
Recibía el mismo error, puede solucionarlo mediante uno de estos métodos:
Si no tiene ningún módulo anidado
a. Importa CommonModule en tu módulo de aplicación
si. Importe su componente donde está agregando * ngFor en el módulo de la aplicación , defina en declaraciones
C. Si está utilizando el archivo de módulo separado para el enrutamiento, entonces importe el CommonModule en su módulo de enrutamiento o, de lo contrario, importe el CommonModule en el módulo de su aplicación
En mi caso, el segundo método resolvió mi problema.
Espero que esto te ayudará
fuente
Para mí, el problema fue que no importé el módulo personalizado
HouseModule
en miapp.module.ts
. Tenía las otras importaciones.Archivo: app.module.ts
fuente
Lectores futuros
Marque cada uno de los siguientes:
import { CommonModule } from '@angular/common';
fuente
Comencé con el proyecto en vivo base de Angular8 que obtuve el problema anterior, pero cuando usamos "app-routing.module" nos olvidamos de importar "CommonModule". ¡Recuerda importar!
Resolverá tu error.
fuente
Este problema aparece cuando usamos Rutas, podemos mostrar el contenido estático de cualquier módulo, pero cuando intentamos usar una funcionalidad como * ngIg no funciona, por trabajo como por ejemplo @Ruben Szeker, es necesario agregar Component en app.module.ts en las importaciones [], para finalizar, cerrar o matar la ejecución actual del servidor y volver a intentar ejecutar el servicio, se resolverá el problema. Si esto no funciona para usted, puede intentarlo de otra manera.
Lo siento por mi mal ingles.
fuente
Tuve un problema debido a ** en su lugar *
fuente
He encontrado un error similar (
*ngIf
) incluso si todas mis importaciones estaban bien y el componente se procesó sin ningún otro error + el enrutamiento estaba bien.En mi caso
AppModule
no incluía ese módulo específico. Lo extraño es que no se quejó de esto, pero esto podría estar relacionado con cómo trabaja Ivyng serve
(tipo de módulos de carga según enrutamiento, pero no se consideran sus dependencias).fuente
Perdí ~ 1h en este error, en una sola página específica. Probé todas las respuestas aquí, pero finalmente la solución fue reconstruir todo con ng, el problema simplemente desapareció ...
fuente
Así que por favor asegúrate
Sin error de sintaxis en las directivas
El navegador (en el módulo de la aplicación) y los módulos comunes (en otro / niño) se importan (lo mismo que Günter Zöchbauer mencionó anteriormente)
Si tiene rutas en la aplicación, el módulo de ruta debe importarse en el Módulo de la aplicación
Todos los módulos del componente enrutado también se importan en el módulo de la aplicación, por ejemplo: app-routing.module.ts es el siguiente:
rutas const: Rutas = [
{ruta: '', componente: CustomerComponent},
{ruta: 'admin', componente: AdminComponent}
];
Luego, el módulo de la aplicación debe importar módulos de CustomerComponent y AdminComponent en @NgModule ().
fuente
Incluso me enfrenté al mismo problema, probé todas las respuestas aquí, pero un cambio simple me ayudó a resolver este problema, en lugar de incluir * ngFor en la
tr
etiqueta, lo incluí en latbody
etiqueta. Espero que ayude a alguien.fuente
importar CommonModule tanto en el módulo secundario como en el componente
fuente