Estou usando a versão final do Angular2 (2.1.0). Quando quero exibir uma lista de empresas, recebi esse erro.
em file.component.ts
:
public companies: any[] = [
{ "id": 0, "name": "Available" },
{ "id": 1, "name": "Ready" },
{ "id": 2, "name": "Started" }
];
em 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
fonte
fonte
ngfor
para o erro mencionado. Deveria serngFor
Respostas:
Adicionar
BrowserModule
paraimports: []
nos@NgModule()
se é o módulo de raiz (AppModule
), caso contrário oCommonModule
.fonte
No meu caso, o problema era que meu colega de equipe mencionou
*ngfor
nos modelos em vez de*ngFor
. Estranho que não haja erro correto para lidar com esse problema (no Angular 4).fonte
*ngFor="let diagram if diagrams"
, observe oif
. Uma mensagem de "erro de interpretação" seria melhor ...*ngFor="lang in languages"
onde angular 8 espera*ngFor="let lang of languages"
. Mensagem de erro bastante enganosa imo: /Você precisa importar 'CommonModule' no módulo em que você está usando essas diretivas internas, como ngFor, ngIf etc.
fonte
Coisas para lembrar:
Quando módulos personalizados são usados (outros módulos que não o AppModule), é necessário importar o módulo comum nele.
fonte
Se você estiver criando seu próprio módulo, adicione CommonModule nas importações em seu próprio módulo
fonte
Isso também pode acontecer se você não declarar um componente de rota no seu módulo de recurso. Então, por exemplo:
feature.routing.module.ts:
feature.module.ts:
Observe que o ViewComponent não está na matriz de declarações, enquanto deveria estar.
fonte
Módulo personalizado Precisa de um módulo comum
import {CommonModule} de "@ angular / common";
@NgModule ({importações: [CommonModule]})
fonte
Quando usamos "app-routing.module", esquecemos de importar "CommonModule". Lembre-se de importar!
fonte
Eu tive o mesmo erro, mas eu tinha o CommonModule importado. Em vez disso, deixei uma vírgula onde não deveria estar por causa da cópia / colar ao dividir um módulo:
fonte
app.module.ts corrigido e alterado para: importe o BrowserModule no seu módulo de aplicativo
fonte
Eu estava recebendo o mesmo erro. Você pode corrigir um destes métodos:
Se você não possui nenhum módulo aninhado
uma. Importe o CommonModule no seu módulo App
b. Importe seu componente para o qual você está adicionando * ngFor no módulo App , defina nas declarações
c. Se você estiver usando o arquivo de módulo separado para roteamento, importe o CommonModule no seu módulo de roteamento. Caso contrário, importe o CommonModule no seu módulo de aplicativo.
No meu caso, o segundo método resolveu meu problema.
Espero que isso ajude você
fonte
Para mim, o problema era que eu não importei o módulo personalizado
HouseModule
no meuapp.module.ts
. Eu tinha as outras importações.Arquivo: app.module.ts
fonte
Leitores futuros
Verifique cada um dos seguintes:
import { CommonModule } from '@angular/common';
fonte
Eu sou iniciado no projeto ao vivo da base Angular8, obtive o problema acima, mas ao usar "app-routing.module", esquecemos de importar "CommonModule". Lembre-se de importar!
Isso resolverá o seu erro.
fonte
Este problema aparece quando o uso de rotas, podemos exibir o conteúdo estático de qualquer módulo, mas ao tentar usar a funcionalidade ani como * ngIg não funciona, por exemplo, é necessário trabalhar como, por exemplo, @Ruben Szeker, seria necessário adicionar o componente em app.module.ts nas importações [], para finalizar o fechamento ou eliminar a execução da atualidade do servidor e executar novamente a execução do serviço, resolverá o problema. se isso não funcionar para você, tente outra maneira.
Sinto muito pelo meu inglês ruim.
fonte
Eu tive um problema por causa de ** em vez *
fonte
Eu encontrei um erro semelhante (
*ngIf
) mesmo que todas as minhas importações estivessem OK e o componente tenha sido processado sem nenhum outro erro + o roteamento estava OK.No meu caso,
AppModule
não estava incluindo esse módulo específico. O estranho é que não se queixou disso, mas isso pode estar relacionado à maneira como o Ivy trabalhang serve
(tipo de carregamento de módulos de acordo com o roteamento, mas suas dependências não são consideradas).fonte
Acabei de perder ~ 1h com esse erro, em apenas uma página específica. Tentei todas as respostas aqui, mas finalmente a solução foi reconstruir tudo com ng, o problema simplesmente desapareceu ...
fonte
Então, por favor, certifique-se
Nenhum erro de sintaxe nas diretivas
Os módulos Browser (no App Module) e Common (em outro / filho) são importados (o mesmo que Günter Zöchbauer mencionou acima)
Se você possui rotas no aplicativo, o módulo de rota deve ser importado no Módulo de Aplicativo
Todo o módulo do componente roteado também é importado no App Module, por exemplo: app-routing.module.ts é o seguinte:
rotas const: Routes = [
{path: '', component: CustomerComponent},
{caminho: 'admin', componente: AdminComponent}
];
Em seguida, o módulo App deve importar os módulos CustomerComponent e AdminComponent em @NgModule ().
fonte
Mesmo que eu tenha enfrentado o mesmo problema, tentei todas as respostas por aqui, mas uma simples alteração me ajudou a resolver esse problema, em vez de incluir * ngFor na
tr
tag, incluí-a natbody
tag. Espero que ajude alguém.fonte
importar CommonModule no módulo filho e no componente
fonte