我有一个人员列表,我想显示有多少条记录正在使用 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')
});
关于javascript - Ember 如何从父 Controller 访问子 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868248/