相关疑难解决方法(0)

添加到浏览器历史记录而不重新加载页面

基本上,我有一个包含表单的页面.当用户提交该表单时,将调用Javscript函数并向用户动态显示新表单.

此时,我希望用户能够单击浏览器的后退按钮并返回到第一个表单.这可能吗?


感谢您的快速回复,但我无法让pushState工作.单击后退按钮后,HTML仍显示"第二个表单".

这是我用来测试它的代码:

<script>
function newPage(){
    history.pushState({state:1}, "State 1", "?state=1");
    document.getElementById('formBox').innerHTML="second form";
}
</script>


<input type="button" onclick="newPage();" value="forward" />
<div id='formBox'>first form</div>
Run Code Online (Sandbox Code Playgroud)

javascript browser url back browser-history

18
推荐指数
2
解决办法
3万
查看次数

AngularJS:如何从window.history中删除当前视图URL?

我有#/load-data旋转器的视图.数据加载完成后,控制器重定向到不同的视图$location.path('/show-info/').如何从历史记录中删除#/ load-data以避免window.history.back()#/ load-data视图?

angularjs angular-ui-router

9
推荐指数
1
解决办法
6696
查看次数

AngularJS $ location.path()不重新加载目标视图的数据

在我的角度项目中,当显示更改具有$location.path('/foobar')目标视图的路径但未重新加载数据时(通常在保存项目并返回列表后,列表不会更新).

我试图添加$route.reload()$scope.apply(),但没有任何改变.

我不知道做这项工作有什么不对或缺失.

UPDATE

  • $location.url() 也没有'工作
  • 我正在使用角度1.2.26

更新2 - 答案

好的,经过大量的评论和回答,我认为是时候结束这个了.
我认为这不是一个如此复杂的问题.

所以,我的结论,给你所说的是:

  • 给出@yvesmancera的简单示例,控制器的默认行为是重新加载自身
  • 在具有资源工厂和一些REST调用的复杂控制器中,任何保存或更新操作也应手动更新列表引用,或触发列表的完全重新加载

你们所有人都给了我一些好的建议,谢谢.

javascript angularjs

9
推荐指数
2
解决办法
2万
查看次数