Есть ли в Backbone.Router
события как до, так и после выполнения маршрутизации? Мое приложение работает с jQuery.mobile
и звонит в $ .mobile.changePage, который был необходим до того, как маршрут был выполнен, и у контроллера есть доступ к текущей странице на странице $ .activePage. Когда действие контроллера будет завершено, я должен запустить событие create
на документе, чтобы получить «усиление» новыми созданными элементами $ .mobile. я сделал это, заменив loadUrl
События магистральных маршрутизаторов
Backbone.history.loadUrl = (function(old ){
return function() {
Router.trigger("all:before");
old.apply(Backbone.history, arguments);
Router.trigger("all:after");
}
})(Backbone.history.loadUrl );
//Router.initialize
initialize: function() {
this.bind("all:before", function() {
$.mobile.changePage(window.location.hash.split("/")[0] || "home", { changeHash:false});
});
this.bind("all:after", function() {
$.mobile.activePage.trigger('create');
});
}
Есть, возможно, некоторые встроенные в подобных мероприятиях?
по теме, но я люблю, как вы обернули 'функцию Backbone.history.loadUrl'. Действительно чистая! – surjikal