Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

190
Vistas
Angular 4 No se puede vincular a <property> ya que no es una propiedad conocida de <component>

Estoy tratando de crear mi propia directiva en Angular 4. Pero recibí este error al vincular la propiedad de la clase en la plantilla del componente.

Error de la consola:

 Unhandled Promise rejection: Template parse errors: Can't bind to 'data' since it isn't a known property of 'tree'. ("<tree [ERROR ->][data]="data"></tree>"):

Mi vista de árbol-component.ts:

 @Component({ selector: 'app-tree-view', template: '<tree [data]="data"></tree>' }) export class TreeViewComponent implements OnInit { @Input() data: any[]; constructor() { this.data = [ { label: 'a1', subs: [ { label: 'a11', subs: [ { label: 'a111', subs: [ { label: 'a1111' }, { label: 'a1112' } ] }, { label: 'a112' } ] }, { label: 'a12', } ] } ]; } ngOnInit() { } }

Aquí está mi archivo de script completo: https://pastebin.com/hDyX2Kjj

¿Hay alguien que sepa sobre esto? TiA

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

Cada componente, directiva y tubería debe registrarse en @NgModule()

 @NgModule({ declarations: [TreeViewComponent] }) export class AppModule {}

Para más detalles ver

  • https://angular.io/api/core/NgModule
  • https://angular.io/guide/ngmodules
  • https://angular.io/guide/ngmodule-api
over 4 years ago · Santiago Trujillo Denunciar

0

Tengo el mismo error cuando ejecuto la prueba para ParentComponent. Dentro estaba el componente ChildComponent con la propiedad @Input: string;. Ambos componentes también se declararon dentro de app.module.ts.

He arreglado esto así (archivo de prueba del componente principal):

 beforeEach(async(() => { TestBed.configureTestingModule({ declarations: [ParentComponent, ChildComponent]// added child component declaration here }) .compileComponents(); }));
over 4 years ago · Santiago Trujillo Denunciar

0

Como señaló The Aelfinn , si está utilizando su Componente a través de Módulos, necesita exportarlo. ¡ PERO no debe importarlo, exportarlo y declararlo en el Módulo en el que desea usarlo, ya que no forma parte de este Módulo!
Así que suponga que tiene un TreeViewStuffModule que declara el TreeViewComponent y un DoSomethingWithTreeViewModule donde se usa el TreeViewComponent, sus declaraciones serían las siguientes:

 @NgModule({ declarations: [ TreeViewComponent ], exports: [ TreeViewComponent ] }) export class TreeViewStuffModule { } @NgModule({ imports: [ TreeViewStuffModule ] }) export class DoSomethingWithTreeViewModule
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda