猿问

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

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

我使用的是角用户界面路由器,并希望重新加载当前状态并刷新当前状态的所有数据/重新运行当前状态及其父状态的控制器。

我有三个州:部门、组织、细节

主管机构包含一个包含组织列表的表。单击表中的项将加载部门、组织、细节使用$StateParams传递项目的ID。因此,在Details状态中,我加载此项的详细信息,编辑它们,然后保存数据。到目前为止一切都很好。

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

我试过:

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

它进入父状态,但不重新加载控制器,我猜是因为路径没有改变。理想情况下我只想呆在部门、组织、细节状态并刷新父进程中的所有数据。

我也尝试过:

$state.reload()

我在APIWiki上看到了$state.reload“(控制器正在恢复的bug,很快就会修复)。

有什么需要帮忙的吗?


MYYA
浏览 746回答 3
3回答

牛魔王的故事

该解决方案适用于AngularJS V.1.2.2:$state.transitionTo($state.current, $stateParams, {     reload: true,     inherit: false,     notify: true});

当年话下

这将是最后的解决办法。(灵感来源于@Hollan_Risley的帖子)'use strict';angular.module('app').config(function($provide) {     $provide.decorator('$state', function($delegate, $stateParams) {         $delegate.forceReload = function() {             return $delegate.go($delegate.current, $stateParams, {                 reload: true,                 inherit: false,                 notify: true             });         };         return $delegate;     });});现在,每当您需要重新加载时,只需调用:$state.forceReload();
随时随地看视频慕课网APP

相关分类

AngularJS
我要回答