如何在Backbone路由器调用特定路由功能之前收到通知?
我希望在渲染每一页之前有一个通用的“重置”功能。
我可以绑定任何事件吗?
更新:我找到的解决方案基于扩展路由器或历史记录以触发事件。
答案 0 :(得分:9)
使用1.1.x release方法看起来Backbone的Router.execute符合您的要求:
MyRouter = Backbone.Router.extend({
routes: {},
// fired before every route.
execute: function(callback, args) {
// ...
}
});
答案 1 :(得分:2)
如果存在执行函数,则会在每次路由更改之前调用它,但是您必须在回调中传递参数以正确执行其他匹配路由。
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
},
});
答案 2 :(得分:0)
此插件可以满足您的需求。它适用于0.5.3。我不确定它是否适用于0.9.1。
答案 3 :(得分:0)
我'我在构造函数中使用它并且它正常工作
this.bind(" all",this.ACL);
这里的ACL是一个函数