我有一个Document
模型,它具有使用hasMany
关系定义的属性/属性。目的是自由地定义文档的不同区域中的内容,如header
,body
,footer
,同时还创建诸如color
或image
之类的表示属性。Ember.js/Ember数据 - 渲染模板中有许多键/值对
KF.Document = DS.Model.extend
title: DS.attr 'string'
documentAttributes: DS.hasMany 'documentAttribute'
KF.DocumentAttribute = DS.Model.extend
attrKey: DS.attr 'string'
attrValue: DS.attr 'string'
document: DS.belongsTo 'document'
Document.documentAttributes
返回DS.ManyArray
因此,为了使这是我所能做到以下几点:
{{#each da in documentAttributes}}
<p>{{da.attrKey}} - {{da.attrValue}}</p> <!-- returns: "header - this is my header" -->
{{/each}}
的问题是,我想直接访问键(使用代理?)这样我就可以像这样直接绑定数据:
{{textarea value=documentAttributes.header cols="80" rows="6"}}
<img {{ bindAttr src="documentAttributes.imageSrc" }} >
{{textarea value=documentAttributes.footer cols="80" rows="6"}}
我应该如何处理这个问题?
如果初始化代理阵列,如图我提供了答案,documentAttributes的环内,然后使用该阵列,以渲染你的模板,它应该工作正常。当然,当您存储attrs时,代理数组必须存储在您的控制器中。 – melc