我开始使用 angularjs 开发一个单页 Web 应用程序,现在我正在定义导航。因此,我最终使用了 2 级导航:
第一级:使用 ng-view 进行主导航。
第二级:使用 ng-include 带有顶部和底部栏的子视图导航。
这是我们的 iPhone 场景:
iPhone 场景对我来说似乎没问题,因为我们用按钮控制所有导航。
但是,现在让我们考虑一下 Android 场景,用户可以使用历史后退按钮(物理按钮)向后导航。如果我们使用 ng-include 进行子导航,我们如何支持它?
提前致谢
您可以向 URL 添加参数以使其与 Android 历史记录一起使用。
#/main?page=1
#/main?page=2
然后使用that控制应用程序的状态,然后 android 后退按钮将起作用。
您可以使用以下命令设置 url 参数$location.search
:
$location.search('page', 4);
$location.search 文档:http://docs.angularjs.org/api/ng.$location#search http://docs.angularjs.org/api/ng.%24location#search
还有一件事:您需要添加reloadOnSearch: false
选项给你的$routeProvider.when()
声明供您查看。默认情况下,当您使用以下命令更改查询参数时,整个视图会重新加载$location.search()
。将其设置为 false 将使其不重新加载,这正是您在本例中想要的:
$routeProvider.when('/main', { reloadOnSearch: false });
重新加载搜索文档:http://docs.angularjs.org/api/ng.$routeProvider#when http://docs.angularjs.org/api/ng.%24routeProvider#when
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)