gpt4 book ai didi

backbone.js - 如果服务返回 JSON 数据,我还应该使用 this.collection。 toJSON()?

转载 作者:行者123 更新时间:2023-12-04 04:59:45 25 4
gpt4 key购买 nike

在我的主干应用程序中,REST 服务总是返回 JSON 数据,所以我应该总是使用 this.collection.toJSON()或者我可以使用 this.collection在集合提取之后直接将数据绑定(bind)到下划线模板?

最佳答案

最好将 Backbone 的集合/模型对象直接传递给下划线模板,因为它可以方便地将方法添加到输出属性的格式化值的模型中。检查这个例子(假设模型有自定义方法 getFormattedDate )

this.$el.html(this.template({collection: this.collection}))

<ul>
<% collection.each(function (model) { %>
<li><%= model.getFormattedDate() %> — <%= model.escape('title') %></li>
<% }); %>
</ul>

但是如果你决定直接传递 JSON 数据,那么你就不能输出格式化的日期:
this.$el.html(this.template({collection: this.collection.toJSON()}))

<ul>
<% _.each(collection, function (model) { %>
<li><%= model.date %> — <%- model.title %></li>
<% }); %>
</ul>

UPD:我在下划线模板中转义值是错误的,因为您可以使用 <%- content %>输出转义内容的语法。因此,将模型和集合直接传递给下划线模板的唯一好处是能够使用格式化数据的自定义 getter。

关于backbone.js - 如果服务返回 JSON 数据,我还应该使用 this.collection。 toJSON()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16295695/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com