1

我有以下工作车把代码:

{{#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不起作用。

解决这个问题的最佳方法是什么?

4

2 回答 2

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}}
于 2013-04-04T09:24:50.410 回答
0
<span class="label">
  {{switchboardEntry.sipAccount.phoneNumbers.0.number}}
</span>

<span class="label">
  {{switchboardEntry.sipAccount.phoneNumbers.1.number}}
</span>

或者

{{#with switchboardEntry.sipAccount.phoneNumbers}}
  <span class="label">
    {{0.number}}
  </span>

  <span class="label">
    {{1.number}}
  </span>
{{/with}}

小提琴

于 2013-04-04T09:31:59.723 回答