Soy nuevo en Angular2. He intentado crear un componente pero muestra un error.
Este es el app.component.tsarchivo.
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-componentes un componente angular, verifique que sea parte de este módulo. - Si
my-componentes un componente web, agregueCUSTOM_ELEMENTS_SCHEMAal@NgModule.schemasde este componente para suprimir este mensaje.
Por favor ayuda.
angular
typescript
Vimal
fuente
fuente

Quizás esto es para el nombre del
htmlcomponente de etiquetaUsas en
htmlalgo como esto<mycomponent></mycomponent>Debes usar esto
<app-mycomponent></app-mycomponent>fuente
htmletiqueta determina laselectorpropiedad. En este caso esmy-component.¿Lo estás importando a tu
app.module.tsgusto y eliminas las directivas?Tu
MyComponentModuledeberías ser así: -fuente
exportsRevise 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 newcomponentgenerar 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
MyComponentComponentenMyComponentModuleMyComponentComponentalexportsatributo deMyComponentModulemycomponentModule.ts
MyComponentModulea suimportsatributo AppModuleapp.module.ts
Importante Si aún tiene ese error, detenga su servidor
ctrl+cdesde la terminal y ejecútelo nuevamenteng serve -ofuente
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.tscomplemento 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