每次我们导航到不同的URL时是否会触发一般事件?
window.App =
Models: {}
Collections: {}
Views: {}
Routers: {}
init: ->
# Initialize Routers
new App.Routers.Main()
# Initialize History
Backbone.history.start(pushState: true)
# BIND VIEW CHANGE?
$(@).on 'changeOfRoute', ->
console.log "Different Page"
$(document).ready ->
App.init()
Run Code Online (Sandbox Code Playgroud)
可以在每个视图中执行此操作,但我正在寻找一般解决方案.
Edw*_*ith 48
路由器上有"route"事件:
http://backbonejs.org/#Events-catalog
- "route"(路由器,路由,参数) - 当任何路由匹配时,由历史(或路由器)触发.
这允许您绑定到特定路由.
如果要在任何路由之后触发处理程序,请绑定到"route",并且路由将是第一个参数:
myRouter.on("route", function(route, params) {
console.log("Different Page: " + route);
});
Run Code Online (Sandbox Code Playgroud)
这只会触发明确定义的路由的事件.如果要为未明确定义的路由触发事件,则按照如何在Backbone.Controller中检测无效路由和触发器功能添加"splat"路由
归档时间: |
|
查看次数: |
32816 次 |
最近记录: |