将创建视图嵌套在Backbone.js中的显示视图中

Nesting a create view inside of a show view in Backbone.js

本文关键字:视图 显示 js 创建 嵌套 Backbone      更新时间:2023-09-26

Okey,所以我对主干网完全陌生,在任何地方都找不到问题的答案。我使用主干rails,所以我使用的是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列表仅显示属于id为2 的ModelA的ModelB对象

因此,我在ModelA 中添加了类似的内容

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

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

this.index()

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

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

谢谢!

您要查找的是子视图。

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