Как использовать JQuery Mobile и Backbone JS вместе в одном приложении?
Мне нравится использовать Backbone JS для проекта iPad HTML5... Но я быстро столкнулся с проблемой необходимости перехода iPad-ish, элементов формы и т.д. После осмотра кажется, что jQuery Mobile является наиболее установлено. Мы все равно используем jQuery.
Но одно, что я быстро натолкнулся на хэш-события/ajax, из двух библиотек быстро не сработало. Поскольку jQuery Mobile заботится о загрузке страниц и выполнении переходов и т.д., Это не позволяло моим маршрутам Backbone Controller работать так, как они делали раньше. Казалось, что эти два на самом деле не совместимы?
Однако после некоторой работы у меня есть обходное решение... Используя загрузку событий на странице jQuery Mobile, вы можете увидеть активную страницу, а затем запустить правильный макет, который идет с этой страницей. В основном полностью устраняются с помощью хеш-прослушивания/маршрутов/контроллера Backbone.
Но это все еще не кажется правильным? Как Backbone JS и jQuery Mobile работают вместе? Как мне сделать это правильно, продвигаясь вперед?
Ответы
Ответ 1
Я думаю, что нашел решение, когда задал тот же вопрос.
Отключить контроллер изменения хэша в мобильном пользовательском интерфейсе JQuery и заменить на backbone.js
Кажется, есть опция отключить изменение хеша JQuery, прослушивая недавнюю проверку.
https://github.com/jquery/jquery-mobile/commit/3162428558efd9960739ef8f00a7ead0dbf6d3ec
Я еще не пробовал. Если это работает, сообщите нам.
Брэд
Ответ 2
Похоже, что команда JQuery Mobile приняла сознательное решение не поддерживать типы динамических приложений с объектами Backbone.js. Из примечания о выпуске alpha 4:
После выхода 1.0 проект будет фокусируясь на... динамических приложениях, расширенный набор виджета и... A ведется более подробная дорожная карта и хорошо поделитесь им, когда мы приблизимся к нашему 1.0.
Другим доказательством этого является удаление опции autoInitialize по мере перехода от альфа-3 к альфа-4: issue 1391
Итак, теперь нам нужны обходные пути. Альтернативный ответ заключается в том, чтобы помочь исправить выдающиеся ошибки JQM и приблизить его ближе к 1.0, чтобы мы могли использовать динамические функции приложения в JQM ASAP.
Ответ 3
Я предпочитаю нечто более интегрированное w/jquery mobile, поэтому я обычно заменяю базовый маршрутизатор следующим: github.com/azicchetti/jquerymobile-router. прекрасно работает
Ответ 4
Нашел это, и он отлично сработал у меня:
Перенаправление с мобильного сайта (jQuery mobile) на основные стили сайтов задерживается
Я перенаправлялся на главный сайт, и он продолжал метать ошибки "История с базой истории"