Действительно ли pushState в Backbone.js подходит для этого? - PullRequest
1 голос
/ 01 февраля 2012

Я делаю приложение Node.js / Backbone.js и задаюсь вопросом, правильно ли я использую pushState.

Мое приложение запускается с http://localhost:8888/. Я хочу, чтобы маршрутизатор Backbone поднял это исделать что-нибудь по указателю.Например, в моем приложении пользователь загружает файл, а затем Node.js перенаправляет пользователя на http://localhost:8888/blah/.. В этот момент я хочу, чтобы маршрутизатор Backbone поднял этот URL-адрес и что-то сделал.

ВВо-первых, Backbone не собирал ничего, кроме / up.Я понял, что Backbone, конечно, реагирует на / # что-то и т. Д. Итак, я установил pushState: true в истории Backbone при запуске, и теперь он, похоже, подхватывает и делает разные вещи, необходимые, когда пользователь говорит, или когда Node.js перенаправляетих /blah/.

Это правильно?Если это работает, оставьте это?

Я в основном хочу, чтобы JavaScript запускался в зависимости от того, на какой странице находится пользователь.Раньше я делал это с помощью jQuery, находя элемент, уникальный для этой конкретной страницы, а затем запускал необходимый код.Но это очень грязно.Кажется, это работает с маршрутизатором Backbone, пока я использую pushState: правда в истории ... Но так ли это?

Большое спасибо, Джеймс

1 Ответ

0 голосов
/ 01 февраля 2012

Backbone требует вызова pushState: true, если вы хотите его использовать (на основе подписки).Он автоматически откажется от использования # в URL, если браузер не поддерживает pushState.

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

Наконец, вы можете без проблем выполнить маршрут Backbone на «/».

...