$ route.reload();不管用

时间:2018-03-01 10:28:33

标签: angularjs

我在单页上有两个页面,其中包含新注册表单,并在下面列出用户表单。我一直在展示这两件事。

我想要的是,一旦我在数据库中输入新条目,我的列表页面就应该重新加载。我已经使用了$route.reload。在提交按钮上,我调用一个函数将数据保存在数据库中,提交后我调用$route.reload

但是,有时会发生什么事情,有时却没有。

我正在使用AngularJS 1.3。

我尝试了$window.location.reload();,但它对我不起作用。

在博客的某处,我看到角度1.3或更低版本不支持重载功能,那么为什么它有时会起作用。

任何人都可以建议其他事情只在新记录插入后一次重新加载一些东西,并且有人建议我在使用route.reload时出错吗?

3 个答案:

答案 0 :(得分:1)

如果我没记错的话,

window.location.reload()

使用POST数据重新加载当前页面,而window.location.href=window.location.href不包含POST数据。

如果网址中有锚点(#),

window.location.href=window.location.href将不会重新加载页面 - 在这种情况下,您必须使用window.location.reload()

另外,如下面@Mic所述,window.location.reload()需要额外的参数skip Cache,这样使用window.location.reload(true)时,浏览器将跳过缓存并从服务器重新加载页面。 window.location.reload(false)将执行相反的操作,并在可能的情况下从缓存加载页面。

答案 1 :(得分:0)

$ route.reload函数可用于角度版本1.3,请参阅docs https://code.angularjs.org/1.3.0/docs/api/ngRoute/service/ $ route

您是否为这两个视图使用了两个不同的控制器?

答案 2 :(得分:0)

其实为什么要重新加载页面?如果你想每次都重新加载(插入,更新,删除时)?

请参阅,

  • 您可以将$http响应对象(新添加)推送到现有阵列。

  • 或在插入成功回调

  • 后调用defaultLoad()函数