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