我正在使用带有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')
如何实现这一目标?感谢。
答案 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/