我开始使用angularjs开发单页Web应用程序,现在我正在定义导航。所以,我最终使用了2级导航:
第1级:使用ng-view进行主导航。
第二级:使用ng-include的顶部和底部栏进行子视图导航。
这是我们的iphone场景:
iphone场景对我来说似乎没问题,因为我们使用按钮控制所有导航。 但是,现在让我们在Android场景中思考,用户可以使用历史回复按钮(物理按钮)进行导航。如果我们使用ng-include进行子导航,我们如何才能支持它?
提前致谢
答案 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