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

182
Vistas
Ionic *ngIf - Comprueba las variables globales

¿Puede *ngIf solo verificar las variables locales de la página o puedo verificar las variables globales?

Quiero hacer lo siguiente:

inicio.pagina.html

 <div *ngIf="debugService.debugActive"></div>

depuración.servicio.ts

 debugActive: boolean = true; contructor() {} ...

Pero ahora mismo, primero tengo que inicializar la variable en mi home.page.ts para usarla en el html:

home.page.ts

 import { DebugService } from 'src/app/services/debug.service'; localDebugActive: boolean = false; constructor( private debugService: DebugService, ) {} ngOnInit() { this.localDebugActive = this.debugService.debugActive; }

inicio.pagina.html

 <div *ngIf="localDebugActive"></div>

Esto significa un paso extra y llenar mis páginas enteras con variables locales. ¿Es posible sin volver a declararlo y usarlo directamente en el HTML?

about 4 years ago · Juan Pablo Isaza
3 Respuestas
Responde la pregunta

0

La única forma en que un componente obtiene acceso a un servicio es inyectándolo, asegurando que la inyección de dependencia funcione correctamente. Los servicios no son realmente variables globales , como usted dice: no son simplemente "accesibles desde cualquier lugar". Necesitas usar DI.

Técnicamente , puede inyectar un servicio como una variable public en lugar de private y acceder a sus miembros directamente desde la plantilla. Sin embargo, esto generalmente se considera olor a código.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede exponer el servicio inyectado como público:

 public debugService: DebugService

Y úsalo en tu plantilla. Aunque no me gusta mucho, pero para una visualización simple, eso sería suficiente.

about 4 years ago · Juan Pablo Isaza Denunciar

0

Hay dos formas:

  1. Hacer pública una instancia de servicio

     constructor( public debugService: DebugService, ) {}
  2. Utilice un método (forma recomendada).

     public isDebugActive() { return this.debugService.debugActive; } <div *ngIf="isDebugActive()"></div>
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