我使用Angular UI路由器,并希望重新加载当前状态,刷新所有数据/重新运行控制器的当前状态,它的父。
我有3个状态级别:directory.organisations.details
directory.organisations包含具有组织列表的表。单击表中的项目将加载directory.organisations.details与$ StateParams传递项目的ID。因此,在细节状态中,我加载此项目的详细信息,编辑它们,然后保存数据。所有罚款到目前为止。
现在我需要重新加载这个状态并刷新所有的数据。
我努力了:
$state.transitionTo('directory.organisations');
这是进入父状态,但不重新加载控制器,我猜是因为路径没有改变。理想情况下,我只想保留在directory.organisations.details状态,并刷新所有的数据在父。
我也试过:
$state.reload()
我已经看到这个在API WIKI为$ state.reload“(与控制器恢复现在,修复很快的错误)。
任何帮助将不胜感激?
我发现这是使用ui-router刷新的最短工作方式:
$state.go($state.current,{},{reload: true}); //second parameter is for $stateParams
更新版本:
$state.reload();
以下是其中的别名:
$state.transitionTo($state.current,$stateParams,{ reload: true,inherit: false,notify: true });
文档:https://angular-ui.github.io/ui-router/site/#/api/ui.router.state.$state#methods_reload