Какую библиотеку JavaScript hashchange/history мне следует использовать сегодня (2011)?

1) Какой хеш-обмен / библиотеку истории / метода JavaScript следует использовать для моего приложения JavaScript?
2) И как мне достичь этих трех вещей, используя этот метод?

A) Когда страница загружается, я хочу проанализировать хэш / параметры URL и установить начальное состояние приложения.
В частности, мое приложение состоит из Backbone Collection с двумя моделями, имеющими такие атрибуты, как selectedCountry, selectedYear и т. Д.
(Я не думаю, что смогу использовать Backbone.Router, так как это очень индивидуальное приложение для визуализации со сложными состояниями?)

B) Я хочу настроить прослушиватель hashchange или аналогичный, который позволяет мне соответствующим образом обновлять состояние приложения.

C) В событиях изменения Backbone Collection я хотел бы обновить URL. Важный: я хочу временно удалить слушателя hashchange, делая так, чтобы не было обратной связи.

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

Спасибо:)

1 ответ

Решение

Так как вы уже используете Backbone, я бы придерживался Backbone's Router объекты. Будет проще использовать то, что уже доступно в вашем приложении, вместо того, чтобы пытаться внести что-то новое в микс.

Что касается вашей проблемы с обратной связью, я решил эту проблему, не запуская методы маршрутизатора из кода.

Суть в том, что я позволяю своим JavaScript-объектам контролировать состояние приложения и выполняю эту работу за меня. Когда я звоню router.navigateЯ никогда не прохожу true как второй аргумент. Я только звоню router.navigate в ответ на изменение состояния в моем приложении, чтобы обновить фрагмент хеша в моем окне браузера. Вот в чем дело: Это просто ответ на изменение состояния приложения. Я никогда не пользуюсь router.navigate изменить состояние моего приложения.

надеюсь, это поможет

Другие вопросы по тегам