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

Переключение представлений в магистрали для навигации между страницами - что правильно?

Я принял решение изменить мою маршрутизацию приложений на стороне клиента, а не на стороне сервера. Это означает, что мне понадобится способ переключения представлений на странице и из нее, когда пользователь перемещается по сайту. Единственное, что я мог найти, это попытка документировать эту статью: Как переключить представления с помощью Backbone.js

Я вижу, как это будет работать, но я не думаю, что это отличный способ сделать это. Я хочу сохранить свои взгляды - так все верно? Чтобы иметь отдельные виды для отличимых частей вашего приложения? Я думаю, имея один большой "ContentView", а затем просто втягивая в него материал, а повторный рендеринг немного груб и обходит все классные модуляции, которые вы можете сделать в противном случае.

Итак, что лучший способ сделать это? В идеале я хочу функцию, аналогичную той, что задокументирована в вышеупомянутой статье, но в качестве аргумента принимает представление о магистральном режиме.

4b9b3361

Ответ 1

Я написал несколько статей по этому вопросу:

http://lostechies.com/derickbailey/2011/09/15/zombies-run-managing-page-transitions-in-backbone-apps/

и более новый, который берет идею из этого сообщения и формализует ее больше:

http://lostechies.com/derickbailey/2011/12/12/composite-js-apps-regions-and-region-managers/

повторное использование представлений на самом деле является анти-шаблоном в большинстве случаев. обычно есть много дополнительного кода и дополнительного крутильного пространства, которые участвуют в просмотре экземпляров, чтобы заставить их повторно присоединяться к DOM и правильно обрабатывать зарегистрированные DOM-события. Кроме того, вы рискуете потерять память (о чем говорит моя первая статья) и разрушают производительность вашего приложения, используя слишком много памяти.

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