为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

在根据几个用户上下文渲染了整个页面并发出了几个$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())也无法运作(一无所获)。还有另一种方法可以重新渲染页面,而无需再次手动发出所有请求吗?
查看完整描述

3 回答

?
手掌心

TA贡献1942条经验 获得超3个赞

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


$route.reload();

根据AngularJS 文档:


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


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


查看完整回答
反对 回复 2019-10-24
  • 3 回答
  • 0 关注
  • 3304 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信