Как вызвать события Backbone.Router в Backbone.js?
Маршрутизатор в Backbone.js отвечает за маршрутизацию клиентских страниц и подключение их к действиям и событиям на основе URL-адресов. Но как вызвать изменение URL? Я имею в виду, что единственный способ сделать это - заключить элемент, связанный с маршрутизацией страницы в теге <a>
.
Поскольку я связал события mousedown и mouseup с элементом, используемым для маршрутизации, если я поместил его в тег <a>
, события mousedown и mouseup определенно станут недействительными, так как это будет иметь конфликт с событием click <a>
. Итак, есть ли другие способы сделать маршрутизацию?
Ответы
Ответ 1
Вы можете использовать Router#navigate
:
перейти router.navigate(fragment, [options])
Всякий раз, когда вы достигаете точки в своем приложении, которую хотите сохранить в качестве URL-адреса, вызовите перемещаться, чтобы обновить URL-адрес. Если вы хотите также вызвать функцию маршрута, установите для параметра триггер значение true
.
Итак, если ваш маршрутизатор r
и вы хотите активировать маршрут для #/some_route
, вы можете:
r.navigate('some_route', { trigger: true });
Демо (откройте консоль): http://jsfiddle.net/ambiguous/xkZtB/