在基于多个用户上下文呈现整个页面并发出了$http个请求之后,我希望用户能够切换上下文并再次重新呈现所有内容(重新发送所有$http个请求,等等).如果我只是将用户重定向到其他地方,事情就会正常运行:

$scope.on_impersonate_success = function(response) {
  //$window.location.reload(); // This cancels any current request
  $location.path('/'); // This works as expected, if path != current_path
};

$scope.impersonate = function(username) {
  return auth.impersonate(username)
    .then($scope.on_impersonate_success, $scope.on_auth_failed);
};

如果我使用$window.location.reload(),那么auth.impersonate(username)上正在等待响应的$http个请求中的一些会被取消,所以我不能使用它.另外,黑客$location.path($location.path())也不能工作(什么都不会发生).

是否有其他方法可以重新呈现页面,而无需再次手动发出所有请求?

推荐答案

对于记录,要强制angular重新呈现当前页面,可以使用:

$route.reload();

According to AngularJS documentation:

导致$route服务重新加载当前路由,即使$location没有更改.

因此,ngView创建新的作用域,重新实例化控制器.

Javascript相关问答推荐

我可以使用querySelectorAll获取单元格索引吗?

使用脚本标签时的JSDoc智能感知

为什么它无法识别日期 Select 器上的任何 Select ?

我的glb文件没有加载到我的three.js文件中

主要内部的ExtJS多个子应用程序

对象和数字减法会抵消浏览器js中的数字

Google图表时间轴—更改hAxis文本 colored颜色

判断表格单元格中是否存在文本框

Snowflake JavaScript存储过程返回成功,尽管预期失败

如何禁用附加图标点击的v—自动完成事件

给定一个凸多边形作为一组边,如何根据到最近边的距离填充里面的区域

手机上的渲染错误文本必须在文本组件中渲染,但在浏览器上没有问题<><>

无法读取未定义错误的属性路径名''

Html文件和客户端存储的相关问题,有没有可能?

在使用REACT更改了CSS类之后,无法更改CSS样式

如何在 Select 文本时停止Click事件?

如何 for each 输入动态设置输入变更值

try 将Redux工具包与MUI ToggleButtonGroup组件一起使用时出错

无法重定向到Next.js中的动态URL

在SuperBase JS客户端中寻址JSON数据