我有一个ArrayController来管理一组对象。我在其上定义了一个itemController,以便每个单独的对象由另一个ObjectController管理:
App.IndexController = Ember.ArrayController.extend({
itemController: "sampleModel"
});
在这个ObjectController中,我有一个delete
动作,用于使用“父”ArrayController从封闭数组中删除对象:
App.SampleModelController = Ember.ObjectController.extend({
delete: function() {
this.get("target.content").removeObject(this.get("content"));
}
});
我不想拥有全局对象存储。我目前正在使用target
属性来实现这种行为。这是惯用的恩赐方法吗?
可以找到完整的示例here。
答案 0 :(得分:6)
您可以将删除功能移动到ArrayController。这种方式很有意义,因为阵列控制器正在管理集合。你有它的方式,但它似乎不正确,因为你的对象管理它所属的数组,这似乎是一种尴尬的写作方式。
App.IndexController = Ember.ArrayController.extend({
itemController: "sampleModel",
delete: function(object) {
this.get('content').removeObject(object)
}
});
App.SampleModelController = Ember.ObjectController.extend({});