Soy nuevo en Angular2. He intentado crear un componente pero muestra un error.
Este es el app.component.ts
archivo.
import { Component } from '@angular/core';
import { MyComponentComponent } from './my-component.component';
@Component({
selector: 'my-app',
template: `
<h1>Hello {{name}}</h1>
<h4>Something</h4>
<my-component></my-component>
`,
directives: [MyComponentComponent]
})
export class AppComponent { name = 'Sam' }
Este es el componente que quiero crear.
import { Component } from '@angular/core';
@Component({
selector: 'my-component',
template: `
<p>This is my article</p>
`
})
export class MyComponentComponent {
}
Mostrando los dos errores:
- Si
my-component
es un componente angular, verifique que sea parte de este módulo. - Si
my-component
es un componente web, agregueCUSTOM_ELEMENTS_SCHEMA
al@NgModule.schemas
de este componente para suprimir este mensaje.
Por favor ayuda.
angular
typescript
Vimal
fuente
fuente
Quizás esto es para el nombre del
html
componente de etiquetaUsas en
html
algo como esto<mycomponent></mycomponent>
Debes usar esto
<app-mycomponent></app-mycomponent>
fuente
html
etiqueta determina laselector
propiedad. En este caso esmy-component
.¿Lo estás importando a tu
app.module.ts
gusto y eliminas las directivas?Tu
MyComponentModule
deberías ser así: -fuente
exports
Revise su selector en su filename.component.ts
Usando la etiqueta en varios archivos html, diría
Debiera ser
Ejemplo
fuente
En mi caso, estaba escribiendo pruebas unitarias para un componente que usa subcomponentes, y estaba escribiendo pruebas para asegurarme de que esos subcomponentes estuvieran en la plantilla:
No recibí un error, pero una advertencia:
Además, el subcomponente no se mostró dentro del navegador durante la prueba.
Solía
ng g c newcomponent
generar todos los componentes, por lo que ya estaban declarados en el módulo de aplicación, pero no en el módulo de prueba que para el componente que estaba especificando.fuente
Debe declarar su MyComponentComponent en el mismo módulo de su AppComponent.
fuente
MyComponentComponent
enMyComponentModule
MyComponentComponent
alexports
atributo deMyComponentModule
mycomponentModule.ts
MyComponentModule
a suimports
atributo AppModuleapp.module.ts
Importante Si aún tiene ese error, detenga su servidor
ctrl+c
desde la terminal y ejecútelo nuevamenteng serve -o
fuente
En mi caso, tenía un componente en un módulo compartido.
El componente se estaba cargando y funcionaba bien, pero el mecanografiado resaltaba la etiqueta html con una línea roja y mostraba este mensaje de error.
Dentro de este componente, noté que no importé un operador rxjs.
Cuando agregué esta importación, el mensaje de error desapareció.
Verifique todas las importaciones dentro del componente .
Espero que ayude a alguien.
fuente
Compruebe en qué módulo se declara el componente principal ...
Si su componente principal está definido en el módulo compartido, también debe hacerlo su módulo secundario.
El componente padre podría declararse en un módulo compartido y no en el módulo lógico basado en la estructura / nomenclatura del directorio de archivos, incluso la CLI angular lo agregó en el módulo incorrecto en mi caso.
fuente
Espero que estés teniendo
app.module.ts
. En suapp.module.ts
complemento debajo de la líneaMe gusta esto:
fuente
En su components.module.ts debe importar IonicModule de esta manera:
import { IonicModule } from '@ionic/angular';
Luego importe IonicModule así:
entonces sus components.module.ts serán así:
fuente
No hacerlo
export **default** class MyComponentComponent
!Problema relacionado que podría caer bajo el título, si no la pregunta específica:
Accidentalmente hice un ...
... y eso también arruinó las cosas.
¿Por qué? VS Code agregó la importación a mi módulo cuando lo puse
declarations
, pero en lugar de ...tenía
Y eso no se asignó río abajo, supuestamente ya que no fue "realmente" nombrado en ningún lugar con la importación predeterminada.
No se
default
. Lucro.fuente