相关疑难解决方法(0)

重新加载当前状态 - 刷新数据

我正在使用Angular UI路由器,并希望重新加载当前状态并刷新所有数据/重新运行控制器以获取当前状态及其父级.

我有3个州级别:directory.organisations.details

directory.organisations包含一个包含组织列表的表.单击表中的项目会加载directory.organisations.details并使用$ StateParams传递项目的ID.因此,在详细信息状态中,我加载此项目的详细信息,编辑它们,然后保存数据.到目前为止都很好.

现在我需要重新加载此状态并刷新所有数据.

我试过了:

 $state.transitionTo('directory.organisations');
Run Code Online (Sandbox Code Playgroud)

哪个进入父状态,但没有重新加载控制器,我想因为路径没有改变.理想情况下,我只想保留在directory.organisations.details状态并刷新父级中的所有数据.

我也尝试过:

$state.reload()
Run Code Online (Sandbox Code Playgroud)

我在API WIKI for $ state.reload上看过这个"(控制器现在重新修复的错误,很快就会修复)."

任何帮助,将不胜感激?

angularjs angular-ui angular-ui-router

323
推荐指数
10
解决办法
44万
查看次数

如何使用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);
};
Run Code Online (Sandbox Code Playgroud)

如果我使用$window.location.reload(),那么一些$http请求auth.impersonate(username)等待响应被取消,所以我不能使用它.此外,黑客$location.path($location.path())也不起作用(没有任何反应).

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

javascript reload node.js rerender angularjs

296
推荐指数
10
解决办法
61万
查看次数