我有一个搜索页面,允许用户深入分类和/或输入搜索词.我想让用户能够使用后退按钮撤消这些操作.使用AngularJS,我如何让这个页面为每个操作的浏览器历史记录添加条目.我不能使用
HTML5 pushstate.
解决方法
我发现我可以通过更改查询字符串参数而不重新加载页面来执行此操作,方法是使用
here中关于reloadOnSearch的答案:
$routeProvider .when('/items',{ controller: 'ItemsCtrl',templateUrl: '/templates/items',reloadOnSearch: false },... );
$location.search('id',123);
最后使用here的答案检测路线变化:
$scope.$on('$routeUpdate',function(){ $scope.sort = $location.search().sort; $scope.order = $location.search().order; $scope.offset = $location.search().offset; });