4

我开始使用 angularjs 开发单页 Web 应用程序,现在我正在定义导航。所以,我最终使用了 2 个级别的导航:

第一级:使用 ng-view 的主导航。

第 2 级:使用 ng-include 使用顶部和底部栏进行子视图导航。

这是我们的 iphone 场景:

应用场景

iphone 场景对我来说似乎没问题,因为我们用按钮控制所有导航。但是,现在让我们考虑一下 android 场景,用户可以使用历史返回按钮(物理按钮)进行导航。如果我们使用 ng-include 进行子导航,我们如何支持它?

使用历史回溯的工作流程

提前致谢

4

1 回答 1

2

您可以将参数添加到您的 URL 以使其与 Android 历史记录一起使用。

#/main?page=1
#/main?page=2

然后使用来控制您的应用程序的状态,然后android后退按钮将起作用。

您可以使用以下方式设置 url 参数$location.search

$location.search('page', 4);

$location.search 文档:http ://docs.angularjs.org/api/ng.$location#search

还有一件事:您需要在声明中添加reloadOnSearch: false选项以$routeProvider.when()供您查看。默认情况下,当您使用 更改查询参数时,整个视图会重新加载$location.search()。将其设置为 false 将使其不会重新加载,这就是您在这种情况下想要的:

$routeProvider.when('/main', { reloadOnSearch: false });

reloadOnSearch 文档:http ://docs.angularjs.org/api/ng.$ro​​uteProvider#when

于 2013-04-29T15:49:09.563 回答