Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

145
Visualizações
La vista no se actualiza en la aplicación móvil después de actualizar las variables angulares, aunque funciona en el navegador

Cuando las variables angulares se actualizan dentro del componente después de algunas llamadas a la API, debería reflejarse en la interfaz de usuario de la vista móvil (según el valor de *ngIf), pero no es así. Funciona en la web, escritorio, etc. Y si creo un botón adicional en la página móvil y hago clic en él O vuelvo a cargar la página, también funciona en el móvil. Parece que la página móvil requiere interacción inicial, para cargar la página correctamente según el cambio de variable. No hace el trabajo por sí mismo.

 <div *ngIf="!hasToken"> <button type="button" class="btn btn-primary" (click)="Login()"><img src="images/icon-ms.ico">Login</button> </div>

AngularComponent.ts

 ngOnInit() { this.exampleService.getData(id).subscribe((result) => { if (result != undefined || result != null) { this.hasToken= true; } }

Una vez que la variable hasToken se vuelve verdadera en ngOnInit(), debería ocultar el botón Iniciar sesión , pero no lo hace, aunque el valor de la variable se actualiza.

Cualquier sugerencia para solucionar esto sería apreciada.

about 4 years ago · Santiago Gelvez
2 Respostas
Responde à pergunta

0

Creo que lo que estás experimentando está relacionado con la detección de cambios. Sugiero evitar la suscripción manual en el controlador mediante el uso de la tubería asíncrona. Esto mejora el rendimiento y funciona muy bien con la detección de cambios.

Puedes hacer algo como esto:

 readonly hasToken$ = this.exampleService.getData(id).pipe(map(result => !!result));
 <div *ngIf="(hasToken$ | async) === false"> <button type="button" class="btn btn-primary" (click)="Login()"><img src="images/icon-ms.ico">Login</button> </div>
about 4 years ago · Santiago Gelvez Relatório

0

Creo que la forma en que inicias/actualizas tu variable es incorrecta. ¿Puedes agregar tu .ts? También puede verificar ChangeDetectorRef.MarkForCheck() y ngOnchanges() pero es demasiado excesivo para su problema.

about 4 years ago · Santiago Gelvez Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda