android – 历史回溯使用ng-include导航

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

第1级:使用ng-view进行主导航.

第二级:使用ng-include的顶部和底部栏的SubView导航.

这是我们的iphone场景:

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

提前致谢

最佳答案 您可以在网址中添加参数,使其与Android历史记录一起使用.

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

然后使用它来控制你的应用程序的状态,然后android后退按钮将工作.

您可以使用$location.search设置url参数:

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

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

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

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

reloadOnSearch docs:http://docs.angularjs.org/api/ng.$routeProvider#when

点赞