Erro: Can’t Bind to ngModel Since It Isn’t a Known Property of input
Neste artigo você aprenderá a como resolver o erro Can’t Bind to ngModel Since It Isn’t a Known Property of input do Angular

Fala programador(a), beleza? Bora aprender mais sobre Angular!
No desenvolvimento com Angular, um dos erros mais comuns que você pode encontrar é o "Can't bind to 'ngModel' since it isn't a known property of 'input'".
Este erro ocorre quando tentamos usar a diretiva [(ngModel)] em nossos templates, mas o Angular não consegue reconhecer ngModel como uma propriedade válida do elemento de entrada.
Formação Vibe Coding
Do Prompt ao Produto: Crie Software Real com IA
- 474 aulas
- 20 projetos
- 39h 27min
Vamos entender por que isso acontece e como você pode corrigir esse problema.
Entendendo ngModel
ngModel é uma diretiva que implementa a vinculação de dados bidirecional entre o modelo no componente e a view no template.
Ela é parte do FormsModule no Angular e é usada principalmente em formulários para coletar e validar entradas do usuário.
Identificando a Causa do Erro
O erro geralmente é causado pela ausência do FormsModule no módulo do componente onde o ngModel está sendo usado.
O Angular precisa saber que ngModel é uma diretiva válida e isso é feito importando FormsModule no módulo do componente.
Exemplo de Código do Módulo Angular:
import { FormsModule } from '@angular/forms';
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent
],
imports: [
BrowserModule,
FormsModule // Importando o FormsModule aqui
],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule { }
Como Corrigir o Erro
Para resolver esse problema, você precisa:
- Importar
FormsModuledo pacote@angular/formsno módulo do componente onde você está usandongModel. - Adicionar
FormsModuleà lista deimportsno decorador@NgModule()desse módulo.
Exemplo de Uso de ngModel no Template:
<input type="text" [(ngModel)]="user.name" name="name">
Neste exemplo, user.name é a propriedade do componente que você deseja vincular ao valor do campo de entrada no formulário.
A Importância da Declaração de name
Além de importar FormsModule, você deve garantir que cada input com ngModel tenha um atributo name único, pois o Angular usa o atributo name para registrar o controle com o FormsModule.
Quer aprender mais sobre programação? Conheça nosso canal no YouTube:
Conclusão
O erro “Can’t bind to ‘ngModel’ since it isn’t a known property of ‘input'” é um sinal de que o Angular não tem informações suficientes para processar a diretiva ngModel.
Certificando-se de que você importou corretamente o FormsModule e definiu o atributo name nos elementos de entrada, você pode resolver esse erro e utilizar a vinculação de dados bidirecional em seus formulários com eficácia.
Com essas correções, seu formulário Angular estará pronto para coletar e validar dados de entrada do usuário de maneira robusta e eficiente.
Está buscando evoluir como Programador? Confira o nossos cursos de programação.
Formações
Formação SAAS com IA
Tire usas ideias do papel criando softwares com IA, integre pagamentos e lance seu projeto!
- 291 aulas
- 18 projetos
- 24h 17min
Blog | Mais populares
As diferenças de var, let e const
Como fazer redirecionamento com PHP
Neste artigo você vai aprender a como fazer redirecionamento com PHP, utilizaremos abordagens fáceis de entender e de aplicar Fala programador(a), beleza? Bora aprender mais […]
ChatGPT: o que é, como usar, dicas e como acessar login
ChatGPT é uma ferramenta de processamento de linguagem natural (NLP) baseada na arquitetura GPT-3.5, desenvolvida pela OpenAI. Sua criação representa um marco significativo no campo […]
