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

154
Vistas
¿Cómo pasar un valor de componente de clase a un decorador personalizado en Angular?

Cuando me cansé de acceder a un valor de componente angular dentro de un decorador personalizado, recibo un error que indica que this no está definido. A partir de la documentación en línea, descubrí que la función de decorador se llamará primero incluso antes de la inicialización de la clase. Debido a esto, los decoradores no tendrán acceso a las variables de instancia.

Nota: Intenté crear una variable estática e intenté acceder a la variable estática dentro del decorador personalizado. El único problema con este enfoque es que customDecorator se ejecuta primero antes de asignar el valor a la variable estática. Por lo tanto, AccountId no está definido cuando intenté acceder dentro de customDecorator.

¿Cómo puedo acceder a este AccountId dentro del decorador personalizado? Cualquier ayuda sería muy apreciada.

 import { Component,Input, OnInit } from '@angular/core'; import {CustomDecorator } from '@sharedDecorators'; @Component({ selector: 'app-account-display', templateUrl: './accounts.component.html', styleUrls: ['./account s.component.scss'] }) export class AccountsComponent implements OnInit { @Input() AccountId: string constructor() { } @CustomDecorator(this.AccountId) ngOnInit() { } ........................... }
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

hu Ane!

si AccountId se pasa estáticamente desde el padre, simplemente puede:

 ngOnInit() { console.log(this.AccountId) }

si AccountId es asíncrono, puede hacer algo como esto

 @Input() get AccountId(value: string) { if(value) { this.accountID$.next(value) } } accountId$ = new ReplaySubject<any>() ngOnInit() { this.accountId$.subscribe((x) => console.log(x) ) <-- remember to unsubscribe }

aquí puedes encontrar más información

about 4 years ago · Juan Pablo Isaza 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