javascript - 每条路线上的主干路由器

标签 javascript backbone.js

我的问题是:

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

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

感谢您的帮助!

最佳答案

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

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.
        });
    }
});

我觉得这种代码在 View 中会更好,但这应该 做你要求的事。

关于javascript - 每条路线上的主干路由器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12772996/

相关文章:

javascript - 动态更改标签和占位符取决于加载的 html

javascript - Backbone Js 应用程序未渲染 View

javascript - 如何设置和解析集合中已存在的 Backbone 模型

ruby-on-rails - 如何使用 Backbone.history.navigate 传递参数?

javascript - 如何在 Perl 中操作 Javascript 网站

javascript - 如何使用 javascript 通过删除中间名来仅提取名字和姓氏

javascript - xpages 在 View 列中返回类图标

node.js - 将 Backbone.iobind (socket.io) 与 Node.js 服务器集群结合使用

javascript - 当 tr 必须存在于模板中时,使用 Marionette ItemView 生成无语义的表标记

javascript - 为什么只有一个 BrowserView 可以与 Electron 配合使用?