2

我想要一个主干视图,这是我的导航出现在所有路线中。这样做的最佳方法是什么?

理想情况下,我想要一条与所有给定路线匹配的路线,并启动创建导航的“主页”功能,如下所示:

routes: {
        "*" : "home",
        "addnames" : "addNames"

    },
4

1 回答 1

1

尽管 Deeptechtons 在他的评论中是 100% 正确的,但在很多时候,有人可能希望他们的路线触发一些常见的逻辑或访问一些常见的对象(如工具栏)。

路由在被击中时会触发“路由”事件,因此如果您需要做的只是触发逻辑,一种简单的方法就是:

router.on('route', functionThatDoesWhateverYouWantToDoOnEveryRoute);

如果您需要视图本身来访问公共对象,那么最好的选择可能是让您的所有路由视图都从基本 RouteView 扩展(并将对象放入其中)。如果您想获得硬核(但很可能这是错误的方法),您甚至可以覆盖核心 Backbone 路由器方法之一,并使用以下方法从其内部调用原始版本:

Backbone.Router.prototype.methodName.apply(this, arguments);

希望有帮助。

于 2012-10-27T01:11:11.180 回答