每条路线上都有骨干路由器

onl*_*oon 2 javascript backbone.js

我的问题是:

所有HTML都在一个<div id="application">容器中,默认情况下它具有0不透明度.这是,因为JavaScript做一些DOM定位,所以,当这是所有做我只需添加一个class="rendered"<div id="application>",然后出现的页面.

所以问题是,对于我的Backbone路由器中的每条路由,我需要在实际路由之前始终触发的东西,或者在每条路由上,这可能吗?

感谢帮助!

Wya*_*son 10

Backbone.Router在路由触发时发出事件,因此您可以绑定到特定事件或all捕获所有有效的路由更改.event参数将包含路由回调名称:

var MyRouter = Backbone.Router.extend({
    routes: {
        "foo": "bar"
    },

    initialize: function() {
        this.on('all', function(routeEvent) {
            // If you had clicked #foo, routeEvent would contain
            // `route:bar`. You can trigger your CSS changes here.
        });
    }
});
Run Code Online (Sandbox Code Playgroud)

我觉得这种代码在视图中会更好,但这应该按照你的要求做.