【发布时间】:2020-02-06 09:19:49
【问题描述】:
我认为我在 NativeScript 中遗漏了一些东西(目前使用 Angular 并在 Android 上进行测试,都是最新版本)。
一方面,我的每条路线都会初始化一些 Observable Subscription(观察数据变化、导航变化、服务变化)。 另一方面,Nativescript 保留了一堆已加载/正在运行的路由..
结果:如果我的任何服务发生变化,堆叠路由上的订阅仍会执行(不在屏幕上,但可以在后栈深处)..
这是个问题吗?我的意思是为什么那些隐藏的路线仍然有效?是不是闻起来像漏水一样难闻?
所以现在,我在问,为什么 Nativescript 没有 Android Sdk 上的 onResume 和 onPause 逻辑?这样我可以从这里停止/恢复观察者?
目前,我正在尝试使用:
ngOnInit() {
console.log('onInit');
}
@HostListener('loaded')
onResume() {
console.log('onResume');
}
@HostListener('unloaded')
onPause() {
console.log('onPause');
}
ngOnDestroy() {
console.log('onDestroy');
}
但我不知道,我对这一切有一种不好的感觉,我觉得我不是应该处理这个问题的人,而是 nativescript inner sdk。谢谢。
【问题讨论】:
-
nativescript支持挂起和恢复,如application.on(application.resumeEvent),docs.nativescript.org/core-concepts/application-lifecycle
-
@Yong 我说的不是应用程序生命周期,而是页面(组件或路由)生命周期
-
您可以在组件中注册回调。
-
NativeScript 中的页面是一种布局 - 它不是 Android Activity。所以因为这不是一个活动,而是一个没有
onResume的视图(但有loaded事件)
标签: angular typescript rxjs nativescript angular2-nativescript