ham*_*son 7 javascript backbone.js
只是想知道每次使用Backbone.js路由器时是否有一种简单的方法来触发自定义功能,而无需在每个路由器功能中添加它.现在我的脚本看起来像这样:
var AppRouter = Backbone.Router.extend({
routes: {
'' : 'index',
'test': 'test',
},
initialize: function() {
},
index: function() {
customFunction();
indexView.render();
},
test: function() {
customFunction();
testView.render();
},
});
Run Code Online (Sandbox Code Playgroud)
我想要这样的东西:
var AppRouter = Backbone.Router.extend({
routes: {
'' : 'index',
'test': 'test',
},
initialize: function() {
},
index: function() {
indexView.render();
},
test: function() {
testView.render();
},
change: function() {
customFunction();
}
});
Run Code Online (Sandbox Code Playgroud)
有没有人有什么建议?
obm*_*arg 19
当路由被匹配Router,一个route:[name]事件与匹配路由的名称进行煅烧,允许类听某些路由匹配.所有骨干对象也支持all事件发生时触发的事件.
所以你可以利用它来绑定到all事件Router,只要路由器做了一些路由就会触发.
initialize: function() {
this.bind( "all", this.change )
},
Run Code Online (Sandbox Code Playgroud)
如果您对匹配的路径感兴趣,则将其作为第一个参数传递给绑定函数.
更多细节请参见常见问题解答
更多(新)Backbone编写绑定的方式是:
initialize: function() {
this.listenTo(this, "all", this.change )
},
Run Code Online (Sandbox Code Playgroud)
route如果你问我,那就更好听.因为all触发两个事件,我认为这些:
"route:[name]"(params) - 当路由器匹配特定路由时由路由器触发.
"route"(route,params) - 当路由器匹配时由路由器触发.
| 归档时间: |
|
| 查看次数: |
8124 次 |
| 最近记录: |