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

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

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

MYYA 2019-07-26 15:14:36
重新加载当前状态刷新数据我使用的是角用户界面路由器,并希望重新加载当前状态并刷新当前状态的所有数据/重新运行当前状态及其父状态的控制器。我有三个州:部门、组织、细节主管机构包含一个包含组织列表的表。单击表中的项将加载部门、组织、细节使用$StateParams传递项目的ID。因此,在Details状态中,我加载此项的详细信息,编辑它们,然后保存数据。到目前为止一切都很好。现在我需要重新加载这个状态并刷新所有数据。我试过: $state.transitionTo('directory.organisations');它进入父状态,但不重新加载控制器,我猜是因为路径没有改变。理想情况下我只想呆在部门、组织、细节状态并刷新父进程中的所有数据。我也尝试过:$state.reload()我在APIWiki上看到了$state.reload“(控制器正在恢复的bug,很快就会修复)。有什么需要帮忙的吗?
查看完整描述

3 回答

?
牛魔王的故事

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

该解决方案适用于AngularJS V.1.2.2:

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


查看完整回答
反对 回复 2019-07-27
?
当年话下

TA贡献1890条经验 获得超9个赞

这将是最后的解决办法。(灵感来源于@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();



查看完整回答
反对 回复 2019-07-27
  • 3 回答
  • 0 关注
  • 735 浏览

添加回答

举报

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