Магистральный маршрут срабатывает дважды

Я использую Backbone с Marionette, и у меня есть один проблемный маршрут, который, кажется, срабатывает дважды с разными параметрами маршрута. Когда вы нажимаете «Назад», вы возвращаетесь к первому запуску маршрута, а не к исходной странице. Используя Backbone Debugger, я вижу, что у меня есть 6 разных маршрутизаторов, и только один из них (выделенный) имеет подходящий маршрут. Так что только один экземпляр.

введите здесь описание изображения

Маршрут запускается простой старой ссылкой. Я не использую навигацию(). Вот фактическая ссылка HTML:

<a href="#device/3/hash/84855d0624dbeb7957cad7d09f7faca78166f033ab71e53aa6199f285d6d903f/incident/8IFVA" class="btn btn-actions action-details">
    <span></span> &nbsp;App
</a>

Когда я нажимаю на эту ссылку, вы видите, что маршрут запускается с двумя разными сигнатурами:

введите здесь описание изображения

введите здесь описание изображения

Мне кажется, что я неправильно понимаю, как работают маршруты Backbone, почему мое определение маршрута совпадает с инцидентным идентификатором и без него. Вот что смешно. Если я возьму эту ссылку и просто вставлю ее в браузер, маршрут сработает только один раз.


person T Nguyen    schedule 22.10.2013    source источник


Ответы (1)


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

Поскольку вы уверены, что не выполняете рукописную навигацию, кажется, что это так, особенно если вы видите этот триггер только один раз при доступе к URL-адресу вручную.

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

person Josh Sullivan    schedule 22.10.2013