Backbone.js Restful API上用户界面的主干JS
我正在使用主干JS编写UI。后端公开了主干JS在其MVC方法中使用的RESTAPI。到目前为止,在呈现REST资源方面,一切都按预期进行。例如,我为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的信
/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
表示具有视图和模型的路线。你想把这个写进表格是什么意思?是否要在另一个视图中渲染视图?请试着重新措辞这个问题