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