当前位置: 首页 > 文档资料 > AppJS 中文文档 >

6、Back stack

优质
小牛编辑
120浏览
2023-12-01

当你从一个页面切换到另一个页面时,app.js将会有一段你曾经拥有的页面的历史,能够导航到它们。返回是应用程序的概念上的反转,加载在导航栏中返回到前一个页面加载(当导航完成时破坏当前页面)。

// load home
// load page2
App.back(function () {
  // back to home
  // page2's appDestroy event has been called
});

如果没有前页导航回应用,返回将返回 false。

与数据目标特性一样,app.back有一个概念上的反向特性。

<!-- in your html -->
<div class="app-button" data-back>Go back</div>

当点击上面的按钮时,App.back() 将自动被调用。

回到一个特定的页面,而不是简单地返回一个页面是很常见的。

// load home
// load page2
// load page3
App.back('home', function () {
  // back to home
  // page2's and page3's appDestroy events have been called
});

后退按钮的另一个常见的做法是根据前一页命名它。App.js提供了一种方便,可以自动地将后退按钮命名为它将指向的页面。

<div class="app-button" data-back="true" data-autotitle></div>

最后更新:

类似资料

  • 问题内容: 我有4页。 从第1页>第2页>第3页>第4页。 用户到达page_3并单击按钮后,它将导航到page_4。单击该按钮后,我想清除所有导航历史记录,以便当用户返回page_4时,该应用程序退出而不是返回至page_3。 我试过了: 但是什么也没发生。我仍然可以返回page_3,page_2等。如何做到这一点,以便当用户单击page_3上的按钮时,他可以转到page_4,而从page_4不

  • 问题内容: 使用片段时,有时会出现以下异常: 当通过尝试从管理器中删除片段时,会通过调用of 发生异常。 我似乎无法弄清楚到底是什么原因造成的?我认为这与删除碎片时未正确清理碎片的堆栈有关。 问题答案: 回答我自己的问题: (最终)在您致电和 编辑:而且,就像两次圈出和ShinyuX在评论中指出的一样; 当调用or ,and 方法时,可能还 调用后,事务将在FragmentManager中排队。结

  • 我在一个activity里有多个碎片。在一个按钮点击我开始一个新的片断,将它添加到backstack。我自然希望调用当前片段的方法和新片段的。但这并没有发生。 我所期待的是, 单击按钮时,LoginFragment将被替换为HomeFragment、LoginFragment的以及HomeFragment的将被调用 按下“上一步”时,将弹出HomeFragment并看到LoginFragment,

  • 我正在使用NavController:。一切都很好,直到我旋转我的设备,然后我无法和。 在日志中:FragmentNavigator:忽略popBackStack()调用:FragmentManager已保存其状态,而FragmentNavigator:忽略导航()调用:FragmentManager已保存其状态 当我看到谷歌的样本,他们没有任何关于这个问题,有所有的工作良好。所以我不明白这就是问

  • 我使用Android导航架构组件来导航一个基于片段的单活动应用程序。主导航通过NavigationDrawer模式实现:带有NavigationView和NavHostFragment plus的DrawerLayout以及附加工具栏。 到目前为止,一切都运行良好——我能够导航到每个片段——除了主级片段的BackStack。除了开始目的地之外的任何片段似乎都被添加到BackStack中,而不是像普

  • 我正在使用Android导航组件创建一个带有导航抽屉的应用程序。但是,如果通过导航抽屉更改当前片段,然后按回,应用程序将始终返回到导航图的开始片段。我只能找到如何在使用导航组件时从backback中删除片段的解决方案,而不能找到如何添加片段的解决方案。 我已经在NavController的AppBarConfiguration中添加了其他片段作为根片段,但这不会改变行为。在应用程序的其他部分使用标