如何在Backbone路由器調用特定路由功能之前得到通知?在改變Backbone.js中的路由之前執行一個函數
我想在呈現每一頁之前有一個通用的「重置」函數。
是否有任何事件可以綁定?
更新:我發現的解決方案基於擴展路由器或歷史記錄以觸發事件。
如何在Backbone路由器調用特定路由功能之前得到通知?在改變Backbone.js中的路由之前執行一個函數
我想在呈現每一頁之前有一個通用的「重置」函數。
是否有任何事件可以綁定?
更新:我發現的解決方案基於擴展路由器或歷史記錄以觸發事件。
這個插件做你想做的。它適用於0.5.3。我不確定它是否適用於0.9.1。
它看起來像骨幹的1.1.x release有要與Router.execute方法是什麼:
MyRouter = Backbone.Router.extend({
routes: {},
// fired before every route.
execute: function(callback, args) {
// ...
}
});
我我在構造函數中使用這個和它的正常工作
這一點。綁定(「all」,this.ACL);
這裏ACL是一個功能
如果執行功能出現時,它會在每次路由改變之前被調用,但你必須傳遞的參數回調正確執行其它匹配的路由。
MyRouter = Backbone.Router.extend({
routes: {},
// fired before every route.
execute: function(callback, args, name) {
//your logic
if (callback) callback.apply(this, args); //this must be called to pass to next route
},
});
請添加一些評論對您的解決方案,爲什麼,以及如何解決問題 – 2016-03-17 14:51:19
我在這個答案針對此問題的解決方案:http://stackoverflow.com/a/16298966/2330244 – 2013-04-30 12:12:58