我有一个人员列表,我想显示使用Ember.js编辑的记录数.在PeopleController中,我正在尝试使用以下代码从PersonController计算属性isEditing:
Schedule.PeopleController = Ember.ArrayController.extend({
editCounter: function () {
return this.filterProperty('isEditing', true).get('length');
}.property('@each.isEditing')
});
Schedule.PersonController = Ember.ObjectController.extend({
isEditing: false
});
不幸的是,我从editCounter函数得到0.此属性(isEditing)应该告诉我正在编辑的人数.函数editCounter在我称为index.html的html档案中调用:
...
{{outlet}}
<div id="count_edits">
<span id="total_edits">
<strong>Editing: </strong> {{editCounter}}
</span>
</div>
...
所以这是我的问题:如何在PeopleController中正确访问isEditing?
解决方法:
在您的ArrayController中确保您正在设置itemController:
Schedule.PeopleController = Ember.ArrayController.extend({
itemController: 'Person',
editCounter: function () {
return this.filterProperty('isEditing', true).get('length');
}.property('@each.isEditing')
});
见http://jsbin.com/eyegoz/4/edit