【问题标题】:Nesting a create view inside of a show view in Backbone.js在 Backbone.js 的显示视图中嵌套创建视图
【发布时间】:2012-01-09 16:06:08
【问题描述】:

好吧,所以我对骨干完全陌生,在任何地方都找不到我的问题的答案。 我使用主干导轨,所以我使用的是 jst 模板系统。我有两个模型,其中一个模型,说 ModelA 可以有多个 ModelB,但 ModelB 只能有一个 ModelA(HasMany 关系)。

我想要实现的是我有一个网页的左右部分,左侧页面始终列出 ModelA,可以说是索引视图,右侧部分从左侧显示当前选择的 ModelA侧面,秀场。右侧部分还列出了 ModelB,并显示了一个表单,用于创建 ModelB 对所选 ModelA 的归属。

 --------------------------------------
|___ModelA list__|  ModelA - 2 details |
|_______1________|                     |
|///////2////////|     ModelB Form     |
|_______3________|                     |
|_______4________|_____ModelB List_____|
|_______5________|__________1__________|
|_______6________|__________2__________|
|_______7________|__________3__________|
|_______8________|__________4__________|

ModelB 列表仅显示属于 ModelA 且 ID 为 2 的 ModelB 对象

所以,我在 ModelA 中添加了类似的东西

initialize: function() {
  this.modelbs = new Appname.Collections.ModelBCollection(this.get("modelbs"));
  this.modelbs.url = this.url() + "/modelbs";
}

并通过添加解决了ModelA在左侧空间中的列表

this.index()

在所有路由器操作中(例如显示)

所以亿美元的大问题是,A) 如何从 ModelA 中的 show 动作调用路由器动作,比如 ModelB 中的视图?和 B)如何在 ModelA 详细信息部分(显示操作)呈现 ModelB 的表单并将关系添加到 ModelA 并让 ModelB 视图负责保存。

谢谢!

【问题讨论】:

  • 你能再贴一些代码吗?无论哪种方式:看看模型A的render方法,放入模型B的视图逻辑,initialize模型B的视图与具体的模型B实例。

标签: javascript ruby-on-rails views backbone.js underscore.js


【解决方案1】:

你要找的是子视图。

您可能对此感兴趣:http://ricostacruz.com/backbone-patterns/#sub_views

【讨论】:

  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
猜你喜欢
  • 2012-03-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-30
  • 2011-12-15
  • 2013-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多