显示动态更新数组+ emberjs +把手的最后一个对象

时间:2014-12-18 08:40:04

标签: ember.js handlebars.js

我正在使用带有emberjs的rails 4。我从服务器获得了一组用户。我需要在UI上显示最后一个对象。此外,用户可以向阵列添加新用户,但只能显示最后/最新添加的用户。

我的余烬版本详情为

Ember      : 1.7.0-beta.1
Ember Data : 1.0.0-beta.8.2a68c63a
Handlebars : 1.3.0
jQuery     : 1.11.1

我当前的车把代码为。将新用户添加到users数组后,将显示新用户详细信息。

{{each users}}
  //display all the users here.
{{/each}}

我想要的是这样的东西

{{#each users}}
  {{#if @last}} 
    //display user details
  {{/if}}
{{/each}}

我尝试在关联的控制器中添加属性并删除'each'循环。我显示了有效的lastUser详细信息。但是,如果我添加新用户,UI仍会显示 以前的用户详细信息。

lastUser: (->                                                                                                                             
  return @model.users.get('lastObject')
).property('@model.users')

如何实现这一目标?感谢。

2 个答案:

答案 0 :(得分:2)

您可以简单地使用以下内容:

{{users.lastObject.firstName}}
{{users.lastObject.lastName}}

或更干净:

{{#with users.lastObject}}
  {{firstName}}
  {{lastName}}
{{/with}}

只需在块中重新定义this所提供的对象 - 在本例中为users.lastObject对象。你的lastUser计算属性是不必要的,因为Ember enumerables已经免费提供了这个属性!

答案 1 :(得分:1)

要观看对users数组的添加,您需要观看'users.@each'

请参阅以下文档http://emberjs.com/guides/object-model/computed-properties-and-aggregate-data/