2015-02-26 3 views
0

В моем приложении я использую базовые представления для разных страниц, таких как пользователи, задачи, календарь и т. Д. С помощью базового маршрутизатора. Я переключаюсь с одного вида (например, Taskview) на другой вид (скажем, календарь). все работает отлично, кроме функции готовности дома, не работает после переключения вида. Бэкэнд моего приложения находится в laravel, поэтому у меня есть общий вид laravel для всех страниц, и я просто переключаю виды скелета без обновления страницы. Мои функции, поддерживаемые dom, работают один раз после обновления страницы, но если я переключусь на другое представление, они перестанут работать. Примечание. Функции Dom ready связаны с просмотром классов шаблонов и идентификаторов. Все представления имеют похожие шаблоны и аналогичные идентификаторы. Но когда я переключаю представления, я удаляю старое представление и добавляю новое представление вместе со своими шаблонами. Любые идеи, как я могу заставить их работать. для готового документа Я использую domready из require.jsМагистральный переключатель между различными видами и функциями domReady не работает

ответ

1

Возможно, вы не понимаете, что такое $(document).ready().

$ (документ) .ready() будет работать только тогда, когда страница Document Object Model (DOM) готова к JavaScript-код для выполнения.

http://learn.jquery.com/using-jquery-core/document-ready/

И Поскольку Вы делаете SPA (одного приложения страницы), которые управления DOM изменить страницу и никогда не перейти на другой HTML file.So $ (документ) .ready() только один раз уволят.

Backbone.js запускает событие «маршрут», когда страница сменяет страницу.

"маршрут" (маршрутизатор, маршрут, PARAMS) - Уволен по истории (или маршрутизатор), когда любой маршрут сопряганы.

http://documentcloud.github.io/backbone/#Events-catalog

yourMainController.listenTo(yourRouter,"route", function(route, params) { 
    console.log("move to " + route); 
}); 

Вы можете использовать вместо этого события.