Routeur de la colonne vertébrale événements
N'en Backbone.Router
existe les événements à la fois avant et après la réalisation de routage?
Mon application fonctionne avec jQuery.mobile
et l'appel à l' $.mobile.changePage sont nécessaires avant que la route a été exécuté et au contrôleur d'avoir accès à l'heure actuelle par page $.page active. Lorsqu'une action de contrôleur est fait, je doit déclencher l' create
événement sur le document d'obtenir des "amélioré" par $.mobile nouvellement créé éléments.
Je l'ai fait en remplaçant 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');
});
}
Est là peut-être que certains intégrés dans des événements comme celui-ci?
Hors sujet, mais j'aime la façon que vous avez enveloppé le
Backbone.history.loadUrl
fonction. Vraiment propre!OriginalL'auteur abuduba | 2012-01-19
Vous devez vous connecter pour publier un commentaire.
il n'y a pas de avant et après l'événement dans la colonne vertébrale.Routeur à partir de maintenant.
version 0.5.3 prend en charge le routeur suivants événements (tous les événements ici)
"itinéraire:[nom]" (routeur) — un routeur routes a égalé.
pas sûr pour qui la libération, il sera, mais un événement de l'itinéraire est en cours d'élaboration,
dans le github de tronc de commettre #419 dispose de cette fonctionnalité, mais il n'est pas publié dans une nouvelle version encore
il y a déjà signalé des problèmes (idée) pour un avant l'événement, vérifiez les github question sur ce ici.
donc, l'événement n'est pas encore là, après un événement viendra un peu plus tard,
si vous avez vraiment déjà besoin d'un après l'événement, il ya une façon, vous pouvez mettre en vous-même,
en se liant à le "tout" de l'événement au lieu de cela, il attrape tous les événements, y compris tous les 'itinéraire:routename' événements. puis il suffit de diviser le nom de l'événement et si elle commence avec l'itinéraire que vous avez le grand événement de l'itinéraire. (cela peut bien sûr être enlevé et changé si l'après événement est libéré dans l'un des épine dorsale de rejets)
épine dorsale de la version 1.0 a le "parcours" de l'événement maintenant
"route" événement ne se déclenche qu'après
OriginalL'auteur Sander