4

我有一个人员列表,我想显示正在使用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)应该告诉我有多少人正在被编辑。在我称为 index.html的html存档中调用了函数editCounter :

...
            {{outlet}}
            <div id="count_edits">
                <span id="total_edits">
                    <strong>Editing: </strong> {{editCounter}}
                </span>
            </div>
...

所以这是我的问题:如何在PeopleController中正确访问isEditing

4

1 回答 1

4

在您的 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

于 2013-07-26T01:54:47.550 回答