【问题标题】:Is it better to make Backbone.js applications single page applications? [closed]让Backbone.js应用单页应用更好吗? [关闭]
【发布时间】:2013-10-24 18:24:06
【问题描述】:

由于Backbone 的Router 只能使用“#”,这意味着它应该都在同一个页面中。 BB 应用程序是否应该只在一页中并且只有 1 个路由器?

【问题讨论】:

    标签: backbone.js backbone-routing


    【解决方案1】:

    Backbone 的许多优点之一是它对您如何使用它非常不以为然。例如,如果您只想使用视图,那么您可以这样做,如果您只想使用模型,您也可以这样做。

    Backbone 应用程序可以是一个单页应用程序,如果这是您的目标,它当然提供了许多功能来使这更容易,但它不是必须的。手动显式调用视图而不是使用路由器绝对没有错。

    回答您问题的第二部分...不,您可以拥有任意数量的路由器。但是,我想说大部分 Backbone 应用程序只使用一个。我正在开发一个拥有一百多个不同视图的 Backbone 应用程序,而且我从未遇到过必须引入辅助路由器的问题。

    最后,对您进行一些更正;只要您的浏览器具有 pushState 功能,Router 对象实际上就不再强制使用“#”。如有必要,旧版浏览器(主要是 IE)将回退到主题标签方法。

    希望这会有所帮助!

    【讨论】:

    • 这很有帮助,谢谢!但是,如果它不使用“#”,它有什么用呢?只是一个正常的网址模式?例如:domain.com/category.html/hardware/keyboard。在此示例中,它将根为 domain.com/category.html?
    • 完全正确。最常见的是,人们在使用这类东西时通常甚至不会在其 URL 中包含“.html”。因此,按照您的示例,您只需使用“domain.com/category/hardware/keyboard”就可以了!
    • 那么...如果您定义路由foo,Backbone 会自动使用/foo 吗?
    • 宾果游戏。您可以在路由器中定义所需的路由,然后它们就可供您使用。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多