Hi I got a function which will update after a http request to the server. It seems that the console.log show that the value has been updated but the UI is not updating unless I click on any other component(ex. input).
This is my function:
fileTransfer.upload(this.created_image, upload_url, options) .then((data) => {     console.log("success:"+data.response); //This is showing correct response     var obj = JSON.parse(data.response);     this.sv_value = obj.value;     console.log(this.sv_value); //This is showing correct value }, (err) => {     console.log("failure:"); })   This is my view html:
    <ion-row>       <ion-col center width-100 no-padding>         <h2>{{sv_value}}</h2> //This is not updated       </ion-col>     </ion-row>   Is there any way I can tackle this issue? Thank you
Try placing this.sv_value = obj.value; inside NgZone.run(); to make Angular detect the change.
import { Component, NgZone } from "@angular/core"; ...  export class MyComponentPage {     constructor(         private zone: NgZone         ...     ){ }      yourFunction(){         fileTransfer.upload(this.created_image, upload_url, options)         .then((data) => {             console.log("success:"+data.response); //This is showing correct response             var obj = JSON.parse(data.response);              this.zone.run(() => {                 this.sv_value = obj.value;             });              console.log(this.value); //This is showing correct value         }, (err) => {             console.log("failure:");         });     } } 
                        I was facing the exact same issue in Ionic 4 and this is how I fixed it:
import { ChangeDetectorRef } from '@angular/core';  constructor(private changeRef: ChangeDetectorRef)  fileTransfer.upload(this.created_image, upload_url, options) .then((data) => {     console.log("success:"+data.response); //This is showing correct response     var obj = JSON.parse(data.response);     this.sv_value = obj.value;     console.log(this.sv_value); //This is showing correct value     this.changeRef.detectChanges(); // ---> Add this here }, (err) => {     console.log("failure:"); })   Essentially by using detectChanges(), we are forcing the platform to detect the changes and kick them into the UI.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With