Backbone.js Большое приложение страницы mutli, управление переходами страницы, чистое уничтожение, создание и т.д. - программирование
Подтвердить что ты не робот

Backbone.js Большое приложение страницы mutli, управление переходами страницы, чистое уничтожение, создание и т.д.

В настоящее время я создаю огромное базовое приложение (facebook clone).

В течение последних двух дней, чувствуя себя очень довольным тем, как все работает в BB благодаря эксклюзивному учебному пособию Роба Конье (существенный просмотр, если вы начинаете с MVC 3 и BB http://tekpub.com/productions/mvc3)

Теперь я пришел на сцену, где мне нужно переключать страницы в моем приложении, и я начинаю подключаться к этому, но мне кажется, что я сам это делаю. Это прекрасно, и я знаю, что смогу сделать то, что хочу.

У меня есть проблемы с утечкой памяти, убедившись, что я отключаю и удаляю свои модели/коллекции/представления при переключении страницы, Переключение представлений в магистраль для навигации между страницами - whats правильный путь?

Но помимо этого, есть целый набор задач, которые я хочу сделать, когда я переключаюсь между страницами. По существу удаление и добавление частей страницы. Это немного сложнее, чем просто удалить все, я хотел бы удалить или уничтожить биты страницы, которые нужно изменить, на основе перехода, который я хотел бы сделать.

Как я уже сказал, я сейчас работаю над этим, но я задавался вопросом, есть ли образец для обработки этого процесса разрыва/срыва, и держите вещи в чистоте (а не в конечном итоге с раздутым маршрутизатором ( контроллер раздувается!!!)

4b9b3361

Ответ 1

Марионетта - это, безусловно, путь. В частности, Marionette.Layout является фантастическим для замены отдельных регионов без повторной рендеринга всей страницы. Ознакомьтесь с некоторыми примерами Derick Примеры приложений, чтобы ознакомиться с каркасом.

Я бы рекомендовал держаться подальше от маршрутизатора, пока вы не приложите свое приложение к работе, используя простые старые события. Затем добавьте поддержку Router. В основном маршрутизатор должен быть подключен, чтобы отражать состояние вашего приложения, но вы не должны зависеть от него как своего контроллера.

В стороне, я использую RequrieJS на большом многомодульном проекте Backbone, и это была находка. Это противоречиво в сообществе BB, но стоит заглянуть, если у вас будет много взаимозависимых компонентов, и вы хотите, чтобы другая структура обрабатывала все зависимости.

Ответ 2

У меня была такая же проблема и я хотел поделиться тем, как я ее решил, поэтому я переработал пример приложения ToDo из документов Backbone.js, используя мое соглашение о переходе на страницы:

http://ahamlett.com/Backbone.localStorage/

Я не тестировал его на утечки памяти, но если есть какой-то вызов .unbind() до .remove() в методе SetView маршрутизатора приложения.