Я хочу перезагрузить страницу после вызова API в ioni c 4.
При входе в систему я сохраняю значение пользователя в localStorage: localStorage.setItem('userData', JSON.stringify(userDeatil));
После входа он переходит к Страницы вкладок, В tab1 я проверяю, одобрен ли пользователь администратором или нет, и в соответствии с этим значением сообщение отображается на экране.
На вкладке 1 я использую ион-освежитель , чтобы обновить sh страницу и вызвать API, чтобы проверить, одобрен пользователь или нет.
После обновления страницы вызывается API, если пользователь утвержден, то состояние изменяется в локальном хранилище, но мой пользовательский интерфейс не изменяется. После закрытия приложения пользовательский интерфейс изменяется или, если я проверяю его в localhost, после обновления этой страницы.
Как обновить интерфейс сразу после вызова API.
Эта проблема решается путем добавления:
window.location.reload();
Но новая проблема заключается в том, что после перезагрузки страницы на некоторое время появляется белый экран.
Как убрать этот белый экран?
. html
<ion-refresher #refresherRef slot="fixed" (ionRefresh)="load($event)">
<ion-refresher-content
pullingIcon="arrow-dropdown"
pullingText="Pull to refresh"
refreshingSpinner="circles"
refreshingText="Refreshing...">
</ion-refresher-content>
</ion-refresher>
<div *ngIf="userData.userStatus == 2" class="emplty_class">
Your request has been pending.
</div>
<div *ngIf="userData.userStatus == 1">
Your request is approved.
</div>
.ts
ngOnInit() {
console.log('this.router.url', this.router.url);
// alert(this.router.url);
this.platform.backButton.subscribe(() => {
if (this.router.url == '/tabs/tab1') {
this.closingApp();
}
});
}
ionViewWillEnter() {
const data = JSON.parse(localStorage.getItem('userData'));
this.usderDetails = data;
for (let data of this.usderDetails) {
this.userData.userId = data.id;
this.userData.userStatus = data.status;
console.log(this.userData.userStatus);
}
}
load(refresher) {
if(this.userData.userStatus == "2"){
let postData = new FormData();
postData.append('user_id', this.userData.userId);
this.authService.postData(postData, "is_verified_or_not.php").then((result) => {
this.responseData = result;
this.success = this.responseData.success;
if (this.success == 1) {
refresher.target.complete();
// refresher.complete();
let userDeatil = this.responseData.users_details;
localStorage.setItem('userData', JSON.stringify(userDeatil));
for (let data1 of userDeatil) {
let userStatus = data1.status;
localStorage.setItem('userStatus', JSON.stringify(userStatus));
console.log("userStatus" + userStatus);
}
} else {
this.message = this.responseData.message;
refresher.target.complete();
this.showToast(this.message);
}
}, (err) => {
refresher.target.complete();
console.log("Error", err);
});
} else{
refresher.target.complete();
console.log("User is already approved: " + this.userData.userStatus);
}
}