Мгновенное перенаправление дает ошибку в консоли - PullRequest
0 голосов
/ 05 октября 2018
$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);
});

Задержка 500 мс предотвращает ошибку.

Почему мгновенное изменение страницы приводит к ошибке "Не удается прочитать свойство '$ destroy' of null"?

1 Ответ

0 голосов
/ 06 октября 2018

Сначала я думал о том, где лучше всего использовать $ state.go.Я всегда использовал его в контроллере и даже не знал, что вы можете сделать это в службе ... Но в конце концов, это не должно иметь значения.Поэтому я немного погуглил и нашел эту проблему на github!Кажется, есть та же проблема, которая была решена с помощью тайм-аута, но просто путем перемещения $ state.go в контроллер это также исправляет.

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

Надеюсь, это поможет!

Редактировать: Вот еще один вопрос, связанный со стеком потока, о чем-то похожем

AngularJS ведет себя странно, когда естьвложенные отношения обещаний в сфере услуг

...