我有一个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
属性来实现这种行为。这是惯用的 Ember 方法吗?完整的示例可以在here中找到。
最佳答案
您可以将删除功能移至ArrayController。因为阵列 Controller 正在管理集合,所以这种方式很有意义。您拥有它的方式有效,但由于您的对象正在管理它所属的数组,因此看起来似乎并不正确,这似乎是一种尴尬的编写方式。
App.IndexController = Ember.ArrayController.extend({
itemController: "sampleModel",
delete: function(object) {
this.get('content').removeObject(object)
}
});
App.SampleModelController = Ember.ObjectController.extend({});
jsfiddle