我有一个 EmailsController (ArrayController),它存储所有的电子邮件。我有一个 EmailController (ObjectController),它有一个参数,用于存储是否选择了实际的电子邮件。我正在尝试在电子邮件模板中实现一个按钮,用于选择或取消选择所有电子邮件。所以不知何故,我需要通过 EmailsController 的操作通知 EmailController 并更改 EmailController 的 isChecked 参数。
我正在尝试使用 itemController、需求和 controllerBinding 参数,但没有任何效果。
以下是控制器:
App.EmailsController = Ember.ArrayController.extend({
needs: ["Email"],
itemController: 'Email',
checkAll: true,
actions: {
checkAllEmails: function() {
this.toggleProperty("checkAll");
console.log(this.get("checkAll"));
}
}
});
App.EmailController = Ember.ObjectController.extend({
needs: ["Emails"],
controllerBinding: 'controllers.Emails',
isChecked: true,
checkAllChanged: function() {
//this should execute, but currently it does not
this.set("isChecked",this.get('controller.checkAll'));
}.property("controller")
});
这是相应的 jsFiddle: http: //jsfiddle.net/JqZK2/4/ 目标是通过 Check All 按钮切换复选框的选择。
谢谢!