Ember.js 如何返回模型关联数组的单个成员?
我有一个hasMany关系,我想根据成员的属性值从中选择一个成员 例如,一个证书有多个发行,我想根据start属性获取最新发行的证书。但是,即使我尝试只返回关联中的第一项,我也无法在模板中显示任何内容Ember.js 如何返回模型关联数组的单个成员?,ember.js,Ember.js,我有一个hasMany关系,我想根据成员的属性值从中选择一个成员 例如,一个证书有多个发行,我想根据start属性获取最新发行的证书。但是,即使我尝试只返回关联中的第一项,我也无法在模板中显示任何内容 App.IssuanceModel=DS.Model.extend({ 开始:DS.attr(), 结束:DS.attr() }); App.CertificateModel=DS.Model.extend({ 发行:hasMany('issuence',{async:true}), 当前发布:函
App.IssuanceModel=DS.Model.extend({
开始:DS.attr(),
结束:DS.attr()
});
App.CertificateModel=DS.Model.extend({
发行:hasMany('issuence',{async:true}),
当前发布:函数(){
this.get('issuences')。然后(函数(issues){
返回发布。objectAt(0);
});
}.property('issuences.@each.start')
});
和在证书模板中
{{currentIssuance.start}}
我什么也没有得到。您的返回是异步进行的,因此它实际上返回的是未定义的,因为您不返回任何内容。只需使用
firstObject
{{issuances.firstObject.start}}
@Kingpin2k的回答让我走上了正确的道路。我可以对已排序的发行数组使用
firstObject
属性,因此我可以对以下内容进行排序,而不是试图计算currentIssuation
:
sortences:function(){
返回这个。get('issuences')。sortBy('start');
}.property('issuences.@each.start'),
在模板中,只需获取第一个对象
{{sortedIssuances.firstObject.start}}
没有解决获取最新版本的问题它解决了您的问题“如何返回模型关联数组的单个成员?”