$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”的错误?
答案 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