【问题标题】:Delay after back button is pressed按下返回按钮后的延迟
【发布时间】:2019-07-22 15:28:44
【问题描述】:

当在某些页面上按下后退按钮时,在触发 NavigationStart 事件之前会有短暂的延迟(1-5 秒)。

我正在使用 Angular RouterExtensions back() 函数。

一开始我以为是加载前一页的数据,但这似乎不是问题。之前的页面确实有一个ListView,大概有7个ng-templates,但是一次只能加载20个item,而且数据量很小。

当我删除一些 ng 模板时,它似乎工作正常,这表明它与此有关。不幸的是,所有这些模板都是必需的。

我无法真正提供示例,因为我的项目规模庞大,而且新项目还不够“大”而不会出现错误。

【问题讨论】:

  • 请添加最小复制
  • @Robertgarcia 尽管我很愿意,但我的项目已有一年之久,包含数百个组件。而且我无法在新项目中重现它——但重新开始不是一种选择。关于如何至少自己调试它的任何提示?
  • 我只能建议在ngOnInitngOnDestroy中添加一些计时器功能,这些功能是您要返回和来自的组件。这可能会让您了解延迟的来源。如果你双击后退按钮会发生什么?您是否尝试过使用 google profiler 来查看您的应用在那几秒钟内正在做什么?

标签: angular nativescript nativescript-angular


【解决方案1】:

您可以尝试为您的视图添加渲染超时 - 请参阅 #2 以获取完整详细信息:https://github.com/NativeScript/NativeScript/issues/4782

这可确保导航在您的 UI 呈现之前完成,并使内容更加流畅(尤其是在 Android 上)。

【讨论】:

    【解决方案2】:

    我遇到了明显的延迟 ~+ 5 秒,原来是因为:

    changeDetection:ChangeDetectionStrategy.OnPush

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-11-16
      • 2023-03-25
      • 2012-10-14
      • 1970-01-01
      • 1970-01-01
      • 2015-07-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多