【问题标题】:How to create navigation menu with backbone?如何使用主干创建导航菜单?
【发布时间】:2012-03-14 12:24:59
【问题描述】:

我开始学习 Backbone.js 并且无法弄清楚一件事:在一个典型的 Rails 应用程序中,我有一个布局视图和一个嵌套视图。我的布局通常包含由 rails routing 处理的导航链接。

我如何对 Backbone 做同样的事情?我正在使用 Rails 3.2 和生态模板。

  • 我应该在 eco 中创建嵌套模板吗?
  • 我的导航链接应该是带有 href 的纯 html 链接还是应该是事件驱动的导航?

例如,我在左侧有一个类别列表,在右侧有一个类别项目。我希望我的类别也显示在每个视图和相应的类别项目上(浏览器中的 URL 与所选类别相对应)。

请指出正确的方向,因为网络上的大多数教程都是“待办事项”风格的应用程序,根本没有导航。

谢谢。

更新 原来,我的问题并不清楚,所以让我缩小范围。

如何将 RoR 布局的概念应用于backbone.js 应用程序?

我很好奇两种可能的导航方式:

  • 创建

    %a{:class=> "customers", :href => "#customers"} 客户

  • 在我看来处理“.customers click”事件

哪种方式更好?

【问题讨论】:

  • 这里有几个问题,让我尝试重新定义它们:1)如何渲染带有嵌套“模型”的“集合”?2) “Backbone.Routers”或“服务器请求”? 我认为 2)必须由您回答,这取决于您要查找的内容。如果 1) 是您想要的尝试重新定义您的问题。

标签: javascript ruby-on-rails ruby-on-rails-3 backbone.js


【解决方案1】:

我很好奇两种可能的导航方式:

创建 %a{:class=> "customers", :href => "#customers"} 客户

在我的视图中处理“.customers click”事件

哪种方式更好?

在您了解自己工作的具体环境之前,两者都不是更好。它们只是实现您的目标和所需功能的选项。

有时也应该同时使用两者。例如,如果您支持搜索引擎优化和可访问性。

这里有一些更好的问题要问:

  • 以下哪项是可以完成工作的最简单的事情?编写路由处理程序或单击处理程序的代码会更多吗?
  • 当我不需要时,路由处理程序是否会将功能紧密耦合到路由器?
  • 我真的需要此链接的路线,以便人们可以将其加入书签并直接返回吗?
  • 点击处理程序是否会导致我的代码跳过调用其他不直接相关的对象的循环,或者我可以使用一个简单的事件来导致其他对象运行吗?

这些问题没有一个正确答案。我建议尽可能尝试许多不同的想法。请记住,您可能会在开发新功能时更改您的答案。你今天想要的答案,不会是你明天需要的。但这不应该阻止您现在选择答案并继续前进。挑一个,放好,需要换的时候换。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-04-07
    • 1970-01-01
    • 1970-01-01
    • 2019-02-19
    相关资源
    最近更新 更多