Tengo el siguiente error al iniciar mi aplicación Angular, incluso si el componente no se muestra.
Tengo que comentar <input>para que mi aplicación funcione.
zone.js:461 Unhandled Promise rejection: Template parse errors:
Can't bind to 'ngModel' since it isn't a known property of 'input'. ("
<div>
<label>Created:</label>
<input type="text" [ERROR ->][(ngModel)]="test" placeholder="foo" />
</div>
</div>"): InterventionDetails@4:28 ; Zone: <root> ; Task: Promise.then ; Value:
Estoy mirando el plunker Hero, pero no veo ninguna diferencia con respecto a mi código.
Aquí está el archivo componente:
import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';
import { Intervention } from '../../model/intervention';
@Component({
selector: 'intervention-details',
templateUrl: 'app/intervention/details/intervention.details.html',
styleUrls: ['app/intervention/details/intervention.details.css']
})
export class InterventionDetails
{
@Input() intervention: Intervention;
public test : string = "toto";
}
javascript
angular
typescript
input
Anthony Brenelière
fuente
fuente

Respuestas:
Sí, eso es todo, en app.module.ts, acabo de agregar:
fuente
[{ngModel}]lugar del correcto:[(ngModel)]component.spec.tsarchivo.Para poder utilizar el enlace de datos bidireccional para entradas de formulario, debe importar el
FormsModulepaquete en suAngularmódulo. Para obtener más información, consulte elAngular 2tutorial oficial aquí y la documentación oficial de los formularios.fuente
import { FORM_DIRECTIVES } from '@angular/forms';y agregué lasFORM_DIRECTIVESdirectivas a y sí, mi enlace está funcionando nuevamente (para que quede claro que estaba funcionando antes del lanzamiento de rc5)FORM_DIRECTIVESestán muertos por si acasoPara usar
[(ngModel)]en Angular 2 , 4 y 5+ , debe importar FormsModule de forma angular ...También está en este camino bajo formas en repositorio angular en github :
Probablemente esto no sea un gran placer para los desarrolladores de AngularJs, ya que podría usar ng-model en todas partes en cualquier momento antes, pero como Angular intenta separar los módulos para usar lo que quiera usar en ese momento, ngModel está en FormsModule ahora .
Además, si está utilizando ReactiveFormsModule, también debe importarlo.
Así que simplemente busca app.module.ts y asegúrate de haber
FormsModuleimportado en ...Además, estos son los comentarios iniciales actuales para Angular4
ngModelen FormsModule :Si desea utilizar su entrada, no en una forma, que se puede utilizar con
ngModelOptionsy hacer independiente cierto ...Para más información, mira ng_model en la sección angular aquí
fuente
Necesita importar el FormsModule
Abra app.module.ts
y agrega línea
y
fuente
Lanzar esto podría ayudar a alguien.
Suponiendo que haya creado un nuevo NgModule, digamos
AuthModulededicado a la manipulación de sus necesidades de autenticación, asegúrese de importarFormsModuleen que AuthModule demasiado .Si va a utilizar
FormsModuleÚNICAMENTE en el,AuthModuleentonces no necesitaría importar elFormModuleIN por defectoAppModuleEntonces algo como esto en
AuthModule:Entonces olvídate de importar
AppModulesi no usas elFormsModuleotro lugar.fuente
Ejemplo 1
Ejemplo 2
fuente
Importe el FormsModule en los módulos en los que desea usar el [(ngModel)]
fuente
Hay dos pasos que debe seguir para deshacerse de este error
básicamente app.module.ts debería verse a continuación:
Espero eso ayude
fuente
Debe importar FormsModule en su módulo raíz si este componente está en la raíz, es decir, app.module.ts
Abra amablemente app.module.ts
Importar FormsModule desde @ angular / forms
Ex:
y
fuente
Estoy usando Angular 7
Tengo que importar ReactiveFormsModule porque estoy usando la clase FormBuilder para crear un formulario reactivo.
fuente
importa FormsModule en tu módulo de aplicación.
permitiría que su aplicación funcione bien.
fuente
Si es necesario utilizar
[(ngModel)]primero hacer lo necesario para importarFormsModuleenapp.module.tsy luego añadir en una lista de las importaciones. Algo como esto:app.module.ts
import {FormsModule} from "@angular/forms";imports: [ BrowserModule, FormsModule ],app.component.ts
<input type="text" [(ngModel)]="name" ><h1>your name is: {{name}} </h1>fuente
ngModel es la parte de FormsModule. Y debe importarse desde @ angular / forms para trabajar con ngModel.
Cambie app.module.ts de la siguiente manera:
fuente
Si alguien sigue recibiendo errores después de aplicar la solución aceptada, podría deberse a que tiene un archivo de módulo separado para el componente en el que desea utilizar la propiedad ngModel en la etiqueta de entrada. En ese caso, aplique la solución aceptada en el archivo module.ts del componente también.
fuente
Estoy usando Angular 5.
En mi caso, también necesitaba importar RactiveFormsModule.
app.module.ts (o anymodule.module.ts)
fuente
ReactiveFormsModulees necesario cuando lo necesita,FormGroup, FormControl ,Validatorsetc. Para usarlongModel, no es necesarioReactiveFormsModule.Sé que esta pregunta es sobre Angular 2, pero estoy en Angular 4 y ninguna de estas respuestas me ayudó.
En Angular 4, la sintaxis debe ser
Espero que esto ayude.
fuente
si aún recibe el error después de importar FormsModule correctamente, luego verifique su terminal o (consola de Windows) porque su proyecto no se está compilando (debido a otro error que podría ser cualquier cosa) y su solución no se ha reflejado en su navegador.
En mi caso, mi consola tenía el siguiente error no relacionado: la propiedad 'retrieveGithubUser' no existe en el tipo 'ApiService'.
fuente
En el módulo que está dispuesto a usar ngModel , debe importar FormsModule
fuente
ngModel proviene de FormsModule. Hay algunos casos en los que puede recibir este tipo de error:
(En alguna versión me enfrenté a este problema). Ha importado correctamente el FormsModule pero el problema está en la etiqueta HTML de entrada. Debe agregar el atributo de etiqueta de nombre para la entrada y el nombre vinculado al objeto en [(ngModel)] debe ser el mismo que el nombre en el atributo de nombre
fuente
En
ngModulelo que necesita para importarFormsModule, porquengModelestá viniendo deFormsModule. Modifique su app.module.ts como el siguiente código que he compartidofuente
importar FormModule a app.module
fuente
fuente
A veces aparece este error cuando intenta utilizar un componente de un módulo, que no se comparte, en un módulo diferente.
Por ejemplo, tiene 2 módulos con module1.componentA.component.ts y module2.componentC.component.ts e intenta usar el selector de module1.componentA.component.ts en una plantilla dentro del módulo2 (por ejemplo
<module1-componentA [someInputVariableInModule1]="variableFromHTTPRequestInModule2">), arrojará el error de que someInputVariableInModule1 no está disponible dentro de module1.componentA.component.ts, a pesar de que tiene@Input() someInputVariableInModule1el módulo1.componentA.Si esto sucede, desea compartir el module1.componentA para que sea accesible en otros módulos. Entonces, si comparte el module1.componentA dentro de un SharedModule, el module1.componentA se podrá usar dentro de otros módulos (fuera del módulo1), y cada módulo que importe el sharedModule podrá acceder al selector en sus plantillas inyectando la
@Input()variable declarada.fuente
Para mi escenario, tuve que importar [CommonModule] y [FormsModule] a mi módulo
fuente
Necesita importar el FormsModule
Abra app.module.ts
y agrega línea
y
fuente
A veces, si ya estamos importados
BrowserModule,FormsModuley otros módulos relacionados, aunque recibí el mismo error, me di cuenta de que necesitamos importarlos en orden , en mi caso lo perdí. Así que el fin debe ser comoBrowserModule,FormsModule,ReactiveFormsModule.Espero que esto ayude a alguien .. :)
fuente
Esto es para las personas que usan JavaScript simple en lugar de Type Script. Además de hacer referencia al archivo de secuencia de comandos de formularios en la parte superior de la página como a continuación
también debe decirle al cargador del módulo que cargue el
ng.forms.FormsModule. Después de hacer los cambios, miimportspropiedad delNgModulemétodo se ve a continuaciónimports: [ng.platformBrowser.BrowserModule, ng.forms.FormsModule],¡Feliz codificación!
fuente
Actualicé de RC1 a RC5 y recibí este error.
Completé mi migración (introduje un nuevo
app.module.tsarchivo, cambiépackage.jsonpara incluir nuevas versiones y módulos faltantes, y finalmente cambié mimain.tspara arrancar en consecuencia, según el ejemplo de inicio rápido de Angular2 ).Hice un
npm updatey luego unnpm outdatedpara confirmar que las versiones instaladas eran correctas, todavía no tuve suerte.Terminé limpiando completamente la
node_modulescarpeta y reinstalando connpm install- ¡Voila! Problema resuelto.fuente
Cuando hice el tutorial por primera vez, main.ts se veía ligeramente diferente de lo que es ahora. Se ve muy similar, pero tenga en cuenta las diferencias (la superior es correcta).
Correcto:
Código tutorial anterior:
fuente
agregue el código a app.module.ts Funcionó para mí:
fuente