Я читал в нескольких местах, что вызов функции Backbone.history.navigate считается плохой практикой.
Например, Addy Osmani sais в своей книге "Разработка приложений Backbone.js"
Также возможно, чтобы Router.navigate() запускал маршрут вдоль с обновлением фрагмента URL-адреса, передав параметр trigger: true. Примечание. Это использование не рекомендуется...
http://addyosmani.github.io/backbone-fundamentals/#backbone.history
Или Derick Bailey в своем блоге даже sais:
В большинстве случаев вы не должны выполнять обработчик маршрутов из своего приложения.
Но я действительно не понимаю причины этого и что было бы лучшим решением.
По-моему, не очень плохо вызвать функцию навигации с помощью триггера: true. Функция маршрута могла при вызове всегда проверять, уже считанные данные уже загружены и показать эти загруженные данные, а не выполнять всю работу снова и снова...