Подсчитать количество пользователей в ember.js
У меня есть приложение 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 ответ
Решение
Если вы хотите наблюдать за самим массивом и не заботиться о значениях в нем, вместо этого ваше свойство должно соблюдать модель.[]
}.property('model.[]')