Backbone.js Restful API上用户界面的主干JS

Backbone.js Restful API上用户界面的主干JS,backbone.js,Backbone.js,我正在使用主干JS编写UI。后端公开了主干JS在其MVC方法中使用的RESTAPI。到目前为止,在呈现REST资源方面,一切都按预期进行。例如,我为/as和/bs定义了模型和视图,我使用路由在两者之间切换 现在我想添加一个用于添加/bs的表单,以便发布新的b实例。表单的一部分是一个组合框,用户可以从中选择可能的/as。我开始将表单附加到模板代码,以便呈现列表/bs。要不是表单,我也需要获取/as。这是怎么回事 假设我有一个用于/bs呈现的模板,它迭代每个b项。表单应在表格后面,获取有关/as的信

我正在使用主干JS编写UI。后端公开了主干JS在其MVC方法中使用的RESTAPI。到目前为止,在呈现REST资源方面,一切都按预期进行。例如,我为
/as
/bs
定义了模型和视图,我使用路由在两者之间切换

现在我想添加一个用于添加
/bs
的表单,以便发布新的
b
实例。表单的一部分是一个组合框,用户可以从中选择可能的
/as
。我开始将表单附加到模板代码,以便呈现列表
/bs
。要不是表单,我也需要获取
/as
。这是怎么回事

假设我有一个用于
/bs
呈现的模板,它迭代每个
b
项。表单应在表格后面,获取有关
/as
的信息

                 <% _.each(items, function(item) { %>
                <tr>
                    <td>
                        <%= item.name %>
                    </td>
                    <td>
                        <%= item.description %>
                    </td>
                <% }); %>

一种方法是扩展对
GET/bs
的响应,以包括所有感觉不平静的
/as

另一个选项是让BListView获取这些值,并将其作为另一个选项提供给模板


这里的做法是什么?

视图中可以有多个集合。当然,如果在创建视图时使用
collection:myCollection
,则
myCollection
将是“主”集合,但仅此而已。您可以继续并在
initialize()
方法中添加所需的任何额外集合

initialize: function() {
  this.anotherCollection = new Backbone.Collection(...);
  // then listen for any event, let's say 'update'
  this.listenTo(this.anotherCollection, 'update', function() {
    //do something in your view, usually, call this.render()
  });
  this.anotherCollection.fetch();
}
但是,此
另一个集合
不会在模板中自动传递。你必须手动传递它

template: _.template(theTemplate, {otherCollection: this.anotherCollection})
“我开始将表单附加到模板代码以呈现列表/b。但是对于表单,我也需要获取/as。这应该如何工作?”这部分不清楚。在您的解释中,
/as
表示具有视图和模型的路线。你想把这个写进表格是什么意思?是否要在另一个视图中渲染视图?请试着重新措辞这个问题