当前位置: 首页 > 面试题库 >

如何使用AngularJS重新加载或重新渲染整个页面

郭翰翮
2023-03-14
问题内容

在基于多个用户上下文渲染了整个页面并提出了几个$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(),那么正在等待响应的$http请求中的某些请求auth.impersonate(username)将被取消,因此无法使用。此外,黑客$location.path($location.path())也不起作用(什么也没有发生)。

还有另一种方法可以重新渲染页面,而无需再次手动发出所有请求吗?


问题答案:

为了进行记录,要强制angular重新渲染当前页面,可以使用:

$route.reload();

根据AngularJS 文档:

即使$ location保持不变,也使$ route服务重新加载当前路由。

结果,ngView创建了新的作用域,重新实例化了控制器。



 类似资料:
  • 在基于多个用户上下文呈现整个页面并发出多个请求之后,我希望用户能够切换上下文并再次重新呈现所有内容(重新发送所有请求,等等)。如果我只是将用户重定向到其他地方,事情就会正常工作: 如果使用,则上等待响应的某些请求将被取消,因此我不能使用它。此外,黑客也不起作用(什么也不会发生)。 有没有另一种方法可以重新呈现页面,而不用再次手动发出所有请求?

  • 我有一个链接。当用户单击此链接时,页面将被重新加载。我是这样做的。。。。。。 html JS 在控制器中,我使用了javascript,这对我来说似乎很糟糕。我怎么能用angularjs做

  • 问题内容: 我有一个带有php include的Div Tag,该div用来填充该信息,我想要做的是使它每隔15秒调用一次,以便它可以在那里更新信息,而不必重新加载整个网页。我试图用JavaScript / jQuery做到这一点,但似乎无法正常工作 这是我在搜索一些内容后所拥有的,然后发生的是,它加载了Small.php,但不会每15秒刷新一次或更新信息。 请帮忙! 我应该添加所有应显示的php

  • 我想重新加载页面。我该怎么做?

  • 问题内容: 我正在使用Java进行项目,因此需要在单击特定按钮后重新加载整个程序。这该怎么做? 问题答案: 尝试 如果仍然无法使用,请在完成上述步骤后尝试

  • 问题内容: 我创建了一个生成Twitter按钮的指令。由于这些按钮上的作用域变量可能会更改,因此我需要在按钮发生时重新构建它。目前,我正在使用jQuery 链接元素并重建按钮。 有没有办法让指令完全重新呈现模板呢? 问题答案: 这是一个可重用的指令,您可以使用它在发送事件时重建被包含的内容: 这是一个jsFiddle演示其工作原理:http : //jsfiddle.net/robianmcd/Z