Safari 移动版和 ios 应用程序中的生命周期挂钩不起作用
Lifecycle hooks in safari mobile and ios app don’t work
None 的生命周期挂钩在 Safari 移动版或 ios 应用程序中有效。
NgOnInit 和 ionViewDidLoad 以及任何其他生命周期挂钩,它们都适用于桌面和 android 应用程序,但不适用于 ios 端。即使是第一次访问该页面。
但是,如果我 tap/click 在屏幕上的任何位置,那么所有内容都会完全按照需要加载。
此外,如果我第二次导航到该页面或重新加载该页面,一切都如我所愿。
有什么建议吗?我没有收到任何错误。
我正在从 back4apps 的数据库中获取一些信息,并试图在页面打开时显示它。
打字稿
ngOnInit() {
this.unhide();
}
unhide() {
this.news.get("deEygHXCR9").then((gameScore) => {
this.memberList = gameScore.get("announcements");
}, (error) => {
});
}
html
<ion-item class = "backColor2">
<ion-textarea class="textAreaHeight" readonly="true" auto-grow="true" type="text" name="memberList" [(ngModel)]="memberList" ></ion-textarea>
</ion-item>
正如我所说,android 和 chrome 工作正常。对修复或替代方法有什么建议吗?我正在使用 ionic 5 和 angular 8
我不是最有经验的程序员……但我最终发现了问题……不是生命周期挂钩。这是因为我正在显示来自第三方的数据,为了让我的屏幕在检索数据后使用 ngmodel 更新它,我不得不 运行 它在 NgZone 中......就像这样......
import { NgZone } from '@angular/core';
constructor(
public ngZone: NgZone,
) {}
async unhide() {
this.news.get("deEygHXCR9").then((gameScore) => {
this.ngZone.run(() => {
this.memberList = gameScore.get("announcements");
});
}, (error) => {
});
}
感谢所有看过的人!
None 的生命周期挂钩在 Safari 移动版或 ios 应用程序中有效。
NgOnInit 和 ionViewDidLoad 以及任何其他生命周期挂钩,它们都适用于桌面和 android 应用程序,但不适用于 ios 端。即使是第一次访问该页面。
但是,如果我 tap/click 在屏幕上的任何位置,那么所有内容都会完全按照需要加载。
此外,如果我第二次导航到该页面或重新加载该页面,一切都如我所愿。
有什么建议吗?我没有收到任何错误。
我正在从 back4apps 的数据库中获取一些信息,并试图在页面打开时显示它。
打字稿
ngOnInit() {
this.unhide();
}
unhide() {
this.news.get("deEygHXCR9").then((gameScore) => {
this.memberList = gameScore.get("announcements");
}, (error) => {
});
}
html
<ion-item class = "backColor2">
<ion-textarea class="textAreaHeight" readonly="true" auto-grow="true" type="text" name="memberList" [(ngModel)]="memberList" ></ion-textarea>
</ion-item>
正如我所说,android 和 chrome 工作正常。对修复或替代方法有什么建议吗?我正在使用 ionic 5 和 angular 8
我不是最有经验的程序员……但我最终发现了问题……不是生命周期挂钩。这是因为我正在显示来自第三方的数据,为了让我的屏幕在检索数据后使用 ngmodel 更新它,我不得不 运行 它在 NgZone 中......就像这样......
import { NgZone } from '@angular/core';
constructor(
public ngZone: NgZone,
) {}
async unhide() {
this.news.get("deEygHXCR9").then((gameScore) => {
this.ngZone.run(() => {
this.memberList = gameScore.get("announcements");
});
}, (error) => {
});
}
感谢所有看过的人!