我开始使用
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