我是 Backbone 的新手 + CoffeeScript 的新手。我有一个从 URL 检索数据(属性)的集合。在我的 homeView 中,我将此数据附加到模板并循环遍历它:
<ul>
<% _.each(data, function (row) { %>
<li><%= row.get('name') %></li>
<% }); %>
</ul>
这工作正常。
但是,当我想查看单个行(属性)时,我仍然使用相同的集合并更改模型(id)中的属性,以更改集合中调用的 URL 并仅检索一条数据(一个属性)。
我编码的方式是,在我的个人属性视图中,它仍然循环通过集合(即使只有一行),并将其附加到主视图
class ShowPropertyView extends Backbone.View
constructor: ->
super
initialize: ->
@Property = new PropertyCollection #New collection
@Property.PropertiesModel.set({theID: @options.theID}) #Change URL and get one property with a specific ID
template: _.template($('#showProperty').html())
#propertyInfoTemplate: _.template($('#propertyInfoTemplate').html())
render: ->
#$(@.el).html(@template) #load main template
@loadResults() #load individual property
loadResults: ->
@Property.fetch({
success: (data) =>
$('#propertyInfo').append(@propertyInfoTemplate({data: data.models, _:_})) #Load data into another template & append template to main template
error: ->
alert('Unable to load information')
})
当前模板(接收数据并附加到主模板)看起来像这样(类似于我的 homeView 模板):
<div>
<% _.each(data, function (row) { %>
<div>
<h3><%= row.get('name') %></h3>
</div>
<% }); %>
</div>
我需要实现的是能够将信息传递到一个视图中,并且不需要下划线中的循环语句,而不必将其附加到主视图(因为它只是一个单独的数据)。
所以我只有一个看起来像这样的视图:
<div>
<h3><%= row.get('name') %></h3>
</div>
我不,我需要更改 ShowPropertyView 中的某些内容,我只是不确定是什么?任何帮助将非常感激!谢谢。