即时重定向使控制台出现错误

时间:2018-10-05 14:36:26

标签: angularjs angular-ui-router

$http.post(url, data).then(function (response) {

    // TypeError: Cannot read property '$destroy' of null
    $state.go('some.page'); 

    // No Error
    $timeout(function () {
        $state.go('some.page'); 
    }, 500);
});

500ms延迟防止出错。

为什么即时页面更改会出现“无法读取属性'$ destroy'为null”的错误?

1 个答案:

答案 0 :(得分:0)

对此,我最初的想法是想知道使用$ state.go的最佳位置在哪里。我一直在控制器中使用它,甚至不知道您可以在服务中使用它。但是,归根结底,这没关系。因此,我对此进行了一些搜索,并在github上发现了这个问题!它似乎具有超时解决的相同问题,但是只需将$ state.go移入控制器也可以解决该问题。

https://github.com/angular-ui/ui-router/issues/403

希望这会有所帮助!

编辑:这是关于类似问题的另一个stackoverflow问题

AngularJS behaving strangely when there's a nested relationship of promises in services