历史使用ng-include返回导航

时间:2013-04-29 13:56:55

标签: android cordova angularjs angularjs-directive

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

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

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

这是我们的iphone场景:

App Scenario

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

workflow using history back

提前致谢

1 个答案:

答案 0 :(得分:2)

您可以在网址中添加参数,使其与Android历史记录一起使用。

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

然后使用那个来控制你的应用程序的状态,然后android后退按钮就可以了。

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

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

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

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

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

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