在 Backbone.js 的显示视图中嵌套创建视图
Posted
技术标签:
【中文标题】在 Backbone.js 的显示视图中嵌套创建视图【英文标题】:Nesting a create view inside of a show view in 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实例。
【参考方案1】:
你要找的是子视图。
您可能对此感兴趣:http://ricostacruz.com/backbone-patterns/#sub_views
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。以上是关于在 Backbone.js 的显示视图中嵌套创建视图的主要内容,如果未能解决你的问题,请参考以下文章