我有以下工作句柄代码:
{{#each phoneNumber in switchboardEntry.sipAccount.phoneNumbers}}
<span class="label">
{{phoneNumber.number}}
</span>
{{/each}}
但是我想循环到switchboardEntry.sipAccount.phoneNumbers
的前两个条目而不是整个集合。我在http://emberjs.com/guides/enumerables/上找到了一个过滤器示例,但仍处于Ruby思维模式,我试图在switchboardEntry.sipAccount.phoneNumbers
之后放置该过滤器,但这不起作用。
解决这个问题的最佳方法是什么?
答案 0 :(得分:2)
您可以将计算属性添加到sipAccount
模型。
这样的事情可能是:
App.SipAccount = DS.Model.extend({
phoneNumbers: DS.hasMany('App.PhoneNumbers'),
phoneNumberShortList: Ember.computed(function() {
var phoneNumbers = this.get('phoneNumbers');
return phoneNumbers.slice(0,2);
}).property('phoneNumbers.@each.number')
});
<强>更新强>
Handlebars代码将是:
{{#each phoneNumber in switchboardEntry.sipAccount.phoneNumberShortList}}
<span class="label">
{{phoneNumber.number}}
</span>
{{/each}}
答案 1 :(得分:0)
<span class="label">
{{switchboardEntry.sipAccount.phoneNumbers.0.number}}
</span>
<span class="label">
{{switchboardEntry.sipAccount.phoneNumbers.1.number}}
</span>
OR
{{#with switchboardEntry.sipAccount.phoneNumbers}}
<span class="label">
{{0.number}}
</span>
<span class="label">
{{1.number}}
</span>
{{/with}}