javascript - Ember 如何从父 Controller 访问子 Controller

标签 javascript html controller ember.js frontend

我有一个人员列表,我想显示有多少条记录正在使用 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

关于javascript - Ember 如何从父 Controller 访问子 Controller ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17868248/

相关文章:

javascript - 默认情况下使用 JQuery 折叠表格行

python-2.7 - 是否可以在不登录 Odoo 的情况下在 Controller 中使用 ORM 方法?

c# - 在同一线程中类的所有实例之间共享类的数据成员

php - 拉拉维尔。在where中使用表名

javascript - 将 JavaScript 变量传递到 Rails 脚本中

javascript - Math.random() Javascript - 百分比和权重

javascript - 为什么 float 的 `a * b`和 `a *= b`的结果不同

javascript - 为什么 JSON.parse() 不解析这个?

html - 浏览器中放错位置的音乐

html - 显示 :table-* and major browsers issues