一尘不染

如何重新加载当前状态?

angularjs

我正在使用Angular UI Router,并希望重新加载当前状态并刷新所有数据/为当前状态及其父级重新运行控制器。

我有3个状态级别: directory.organisations.details

directory.organisations 包含一个带有组织列表的表。单击表中的一个项目将加载$
directoryParams传递该项目的ID的 directory.organisations.details
。因此,在详细信息状态下,我将加载该项目的详细信息,对其进行编辑,然后保存数据。到目前为止一切都很好。

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

我努力了:

 $state.transitionTo('directory.organisations');

我猜这是因为它的父级状态,但不会重新加载控制器,因为路径没有改变。理想情况下,我只想保留在
directory.organisations.details 状态并刷新父级中的所有数据。

我也尝试过:

$state.reload()

我已经在API WIKI上以$ state.reload看到了这一点(“现在重新实例化了控制器的错误,即将修复)。”

任何帮助,将不胜感激?


阅读 249

收藏
2020-07-04

共1个答案

一尘不染

此解决方案在AngularJS V.1.2.2中有效:

$state.transitionTo($state.current, $stateParams, {
    reload: true,
    inherit: false,
    notify: true
});
2020-07-04