【问题标题】:Instantiating Routers Backbone实例化路由器骨干网
【发布时间】:2015-11-10 22:42:49
【问题描述】:

您好,我正在努力使用骨干路由器,我想了解有关实例化路由器的信息。

我可以在我的应用程序中有一个路由器文件,其中定义了所有路由,但是我在我的 appView 和我的 appModel 中创建了一个路由器实例。我这样做是为了可以从视图和模型中调用路由器,但是我觉得这可能是一种相当草率的方法?

有没有更好的办法?

【问题讨论】:

  • 是什么阻止您从视图和模型访问路由器...?您是否正在使用 require.js.. 之类的东西开发模块化应用程序?请提供更多信息和示例代码。

标签: backbone.js backbone-routing


【解决方案1】:

过去对我有用的处理这个问题的最佳方法是创建一个包含在每个页面上的全局 javascript 文件:

<script type="text/javascript" charset="utf-8">
window.APP          = {};
APP.Routers         = {};
</script>

在页面加载时渲染一次路由器:

APP.Routers['my_router_name'] = new MyRouterName({});

现在您可以通过

在整个应用程序的任何地方访问它
APP.Routers.my_router_name

我倾向于遵循这种模式,不仅是路由器,还有我们的集合、模型等。

<script type="text/javascript" charset="utf-8">
window.APP          = {};
APP.Routers         = {};
APP.Collections     = {};
APP.Models          = {};
</script>

这解决了你在这里所说的问题,它似乎......“我这样做是为了可以从视图和模型中调用路由器”。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-09-28
    • 2013-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多