【发布时间】:2015-03-11 08:08:03
【问题描述】:
在我的 AngularJS 应用程序中,我只需要在浏览器历史记录中保存状态更改。这就是为什么当我更改 $location 的参数时,我使用的是 replace() 方法。
例如,当我访问 /page1 时,它会保存在历史记录中。 'centre' 参数是用 replace() 自动添加的,因此它不会添加新的历史条目:
$location.search('centre', hash).replace();
每次我移动地图时,“中心”都会改变。
当我转到 /page2 时,会创建历史记录中的新条目。当我移动地图时,“中心”会发生变化。
问题是,当我按下 BACK 按钮时,我将转到 /page1,但我需要保持“中心”与以前相同,但它会更改为与 /page1 的历史条目一起保存的内容。
我该如何解决这个问题?
我尝试添加:
$window.history.replaceState({}, '', $location.absUrl());
我做了replace()之后,但是没有用。
【问题讨论】: