从封闭ArrayController中删除对象的惯用法

Joa*_*edo 3 ember.js

我有一个ArrayController来管理一组对象.我在其上定义了一个itemController,以便每个单独的对象由另一个ObjectController管理:

App.IndexController = Ember.ArrayController.extend({
  itemController: "sampleModel"
});
Run Code Online (Sandbox Code Playgroud)

在这个ObjectController中,我有一个delete动作,意味着使用"父"ArrayController从封闭数组中删除对象:

App.SampleModelController = Ember.ObjectController.extend({
  delete: function() {
    this.get("target.content").removeObject(this.get("content"));
  }
});
Run Code Online (Sandbox Code Playgroud)

我不想拥有全局对象存储.我目前正在使用该target属性来实现这种行为.这是惯用的ember方法吗?

完整的例子可以在这里找到.

spu*_*len 6

您可以将删除功能移动到ArrayController.这种方式很有意义,因为阵列控制器正在管理集合.你有它的方式,但它似乎并不正确,因为你的对象管理它所属的数组,这似乎是一种尴尬的写作方式.

App.IndexController = Ember.ArrayController.extend({
  itemController: "sampleModel",

  delete: function(object) {
    this.get('content').removeObject(object)
  }
});

App.SampleModelController = Ember.ObjectController.extend({});
Run Code Online (Sandbox Code Playgroud)

的jsfiddle