Я получил эту ошибку, потому что я вызывал router.navigate дважды в быстрой последовательности (1 для добавления queryParams, 1 для добавления фрагмента), поэтому мне пришлось реорганизовать мой код, чтобы вызывать навигацию только один раз.

аюсь перенаправить старые URL-адреса (ссылки в шаблонах электронной почты) с предыдущего сайта на другой маршрут, например так:

if (route.url.indexOf('/#/') !== -1) {
    this.router.navigate(['/my-route']);
}

Однако навигация отменяется по следующей причине:

Navigation ID 2 is not equal to the current navigation id 3.

Глядя на источник маршрутизатора Angular 2, это происходит вrunNavigate метод, когдаid !== this.navigationId (https://github.com/angular/angular/blob/master/modules/@angular/router/src/router.ts#L652). Я не могу найти информацию оnavigationId собственность, почему это происходит и как ее решить.

Перенаправления между существующими маршрутами, кажется, работают, но не между этими старыми URL-адресами хеш-меток и существующими маршрутами. Должны ли оба маршрута существовать в маршрутизаторе, чтобы можно было перенаправлять их между собой?

Помощь будет очень ценится.

Ответы на вопрос(1)

Ваш ответ на вопрос