这应该不会太难。
我有一个 datepicker UI 小部件,每次用户单击一个月时,我都想从MonthsController
(an ArrayController
) 中添加或删除该月。与MonthsController
路线无关,所以在我的ApplicationTemplate
我只是有
{{render months}}
我的日期选择器视图的简化版本是
App.DatepickerView = Ember.View.extend({
click: function(e) {
var id = $(this).datepicker().data('date').replace(" ", "-");
this.get('controller.controllers.months').toggleMonth(id);
}
});
我处理我的事件MonthsController
:
App.MonthsController = Ember.ArrayController.extend({
toggleMonth: function(id) {
var month = App.Month.find(id),
index = this.indexOf(month);
if (index === -1) {
this.pushObject(month);
} else {
this.removeAt(index);
}
}
});
我以为我有这个工作,但后来我意识到month
在最后一个片段中并不是真正的App.Month
,它只是(我想)一个匿名对象。
如何以编程方式向控制器添加/删除模型?