计算ember.js中的用户数

计算ember.js中的用户数,ember.js,computed-values,Ember.js,Computed Values,我有一个ember应用程序,它跟踪一组用户。我的usersController.js中有一个computed属性,用于跟踪系统中的用户数: App.UsersController = Ember.ArrayController.extend({ sortProperties: ['name'], sortAscending: true usersCount: function(){ return this.get('model.length'); }.property('

我有一个ember应用程序,它跟踪一组用户。我的usersController.js中有一个computed属性,用于跟踪系统中的用户数:

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>

{{{#链接到“users.create”}{{{/link到}}
用户:{{userscont}
    {{#控制器中的每个用户}
  • {{{#链接到“用户”用户} {{user.name} {{/链接到}
  • {{/每个}}
{{outlet}}

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

如果您希望观察数组本身,而不关心数组中的值,那么您的属性应该观察“model.[]”,如

}.property('model.[]')


谢谢你的回答,但我在让它在我的用户环境中工作时遇到了困难-你介意看看我哪里出了问题吗。你的上一把小提琴有不正确的路线/控制器名称,但我想这在你的实际应用中是正确的返回此.get('model.length');'而不是返回这个.get('model').length;也许是什么把它修好了。