计算ember.js中的用户数

时间:2013-12-13 10:20:46

标签: ember.js computed-values

我有一个用于跟踪用户集合的ember应用程序。我有一个计算属性,它应该跟踪我的usersController.js中系统中的用户数:

App.UsersController = Ember.ArrayController.extend({
  sortProperties: ['name'],
  sortAscending: true 

usersCount: function(){
    return this.get('model.length');
  }.property('@each')

});

我正在尝试在我的用户模板中呈现此内容,如下所示 -

<script type = "text/x-handlebars" id = "users">

<div class="col-md-2">
{{#link-to "users.create"}}<button type="button" class="btn btn-default btn-lg"><span class="glyphicon glyphicon-plus"></button> {{/link-to}}

<div>Users: {{usersCount}}</div>
</div>
<div class="col-md-10">

  <ul class="list-group">
  {{#each user in controller}}
  <li class="list-group-item">
    {{#link-to "user" user}}
      {{user.name}}
    {{/link-to}}
  </li>
{{/each}}

</ul>

{{outlet}}
</div>
</script>

但它没有显示计数。为什么会这样?

1 个答案:

答案 0 :(得分:3)

如果你想观察数组本身并且不关心它中的值,你的属性应该观察'model。[]',比如

}.property('model.[]')

Example fiddle

Array docs