Как найти бит кода, который вызывает непроизвольную маршрутизацию? (на старом сайте) - PullRequest
0 голосов
/ 15 ноября 2018

Пожалуйста, помогите мне, я работаю над повторным использованием старого сайта на базе AngularJS и продолжаю сталкиваться с неожиданными событиями маршрутизации, вызванными неизвестным кодом.

Когда я нажимаю различные элементы на сайте, ни один из которых не имеет явных обработчиков событий с таким кодом маршрутизация приводит к ожидаемой странице «страница не найдена».

Я уже установил точки останова вокруг всех ссылок "$ location" и "$ route". и я посмотрел все атрибуты "href" в коде и я не нашел ничего подозрительного.

Когда я установил точку останова внутри хука '$ routeChangeStart' следующим образом

    $rootScope.$on('$routeChangeStart', function (event, next, current) {

    debugger;
    //.....
}

У меня есть следующие объекты:

    next = { 
            params: {}
            pathParams: {} 
           } 

(без "$$ route")

event = {
   currentScope: m {$id: 2, $$childTail: m, $$childHead: m, $$prevSibling: null, 
   $$nextSibling: null, …}
   defaultPrevented: false
   name: "$routeChangeStart"
   preventDefault: ƒ ()
   targetScope: m {$id: 2, $$childTail: m, $$childHead: m, $$prevSibling: null, 
   $$nextSibling: null, …}
}

(targetScope == currentScope) имеет значение

в проекте также используются Kendo и JQuery

Я понимаю, что не могу ожидать какого-либо конкретного ответа, но любые советы будут приветствоваться.

Где я должен искать?

1 Ответ

0 голосов
/ 06 декабря 2018

что мне нужно было сделать, это проверить стек вызовов в отладчике, остановившись на точке останова в

$rootScope.$on('$routeChangeStart' ...

pathParams был пуст, потому что маршрут был неверным.

...