首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在下划线Java脚本模板中显示嵌套属性

如何在下划线Java脚本模板中显示嵌套属性
EN

Stack Overflow用户
提问于 2013-09-06 15:57:20
回答 2查看 960关注 0票数 1

我有一个骨干型营养项目,它包含数量、百分比和计量单位。例如

代码语言:javascript
运行
复制
var nut = Backbone.Model.extend({
defaults: {
    quantity: '0',
    percent: 0,
    uom: 'g',
}
});

我还有另一个模型,里面包含了产品的全部营养成分。

代码语言:javascript
运行
复制
var nutrition = Backbone.Model.extend({
defaults:{
servingSize: new nut(),
calories: new nut(),
caloriesFromFat: new nut(),
totalFat: new nut(),
saturatedFat: new nut(),
cholesterol: new nut(),
sodium: new nut(),
totalCarbohydrate: new nut(),
dietaryFiber: new nut(),
sugars: new nut(),
protein: new nut(),
vitaminA: new nut(),
vitaminC: new nut(),
calcium: new nut(),
iron: new nut(),    
},
});

但在打印营养时,通过将营养模型传递给下划线模板,看到的是未定义的。下划线不支持嵌套属性吗?

代码语言:javascript
运行
复制
<tr>
<td><strong>Total Fat <%=totalFat.quantity%> <%=totalFat.uom%></strong></td>
<td class="dv"><%=totalFat.percent+'%'%></td>
</tr>
<tr>
 <td class="sub">Saturated Fat <%=saturatedFat.quantity%> <%=saturatedFat.uom%></td>
 <td class="dv"><%=saturatedFat.percent+'%'%></td>
 </tr>

谢谢。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-09-06 16:42:03

您需要将nutrition.toJSON()_.clone(nutrition.attributes)传递给模板。

否则,您将得到模型对象,而不是原始数据。

要获取每个子属性,您可以通过嵌套属性递归直接公开它们。否则,您可以通过attributes对象直接访问它们。例如cholesterol.attributes.<attr>

票数 1
EN

Stack Overflow用户

发布于 2013-09-06 16:43:52

主干模型的属性不能在对象本身上直接访问。你应该用

代码语言:javascript
运行
复制
<%= totalFat.attributes.quantity %>
  • http://backbonejs.org/#Model-attributes
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18661836

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档