NativeScript 识别页面是不是完全呈现
Posted
技术标签:
【中文标题】NativeScript 识别页面是不是完全呈现【英文标题】:NativeScript recognize if page is fully renderedNativeScript 识别页面是否完全呈现 【发布时间】:2017-11-22 18:08:19 【问题描述】:如何识别 NativeScript 页面是否完全呈现并且对用户可见?最好是一种方法,我可以在其中调用 timestamp/console.log 。 NativeScript 有两种风格,NS Core 和 NS Angular。我不太确定这是否能实现这一点?
对于 NS/Cores:页面加载事件的事件处理程序。
function pageLoaded()
console.log()
<Page loaded="pageLoaded">
https://docs.nativescript.org/cookbook/ui/page
对于 NS/Angular:ngOnInit
ngOnInit()
console.log()
https://docs.nativescript.org/tutorial/ng-chapter-4
【问题讨论】:
【参考方案1】:对于 Angular,我宁愿使用 ngAfterViewInit
而不是 ngOnInit
。 ngOnInit 对于与 NativeScript 相关的任何事情都已经完成,更多的是关于 Angular 生命周期钩子here。实际上,即使在ngAfterViewInit
中,诸如 Angular 绑定之类的某些事情可能仍未完全解决,因此该钩子并非 100% 安全,即 100% 的页面及其内容已被初始化。
据我所知,没有一个回调可以告诉您何时加载整个页面及其内容,因为它们是单独的元素。您可能必须使用该页面中您想知道已加载的每个元素,并分别附加其loaded
回调。
【讨论】:
以上是关于NativeScript 识别页面是不是完全呈现的主要内容,如果未能解决你的问题,请参考以下文章
Nativescript-vue TabView 无法呈现来自 API 的第一个项目
为啥我的 Nativescript-vue 应用程序在呈现模态之前使用硬件后退按钮时崩溃?
NativeScript Angular RadListView 渲染极其缓慢
ListView 不在 ScrollView 和 StackLayout 内呈现,在 ios 中具有水平方向 - nativescript-vue