0

我需要知道如何获取 ArrayController 在其内容数组中的对象位置。比方说:

App.AnArrayController = Ember.ArrayController.set({
   content: [],
});

App.AnObject = Ember.Object.set({
   name: null,
   lastname: null,
   id: 0
});

现在,假设我在 AnArrayController 的内容中插入了两个 AnObject。如何在不知道它在 ArrayController 中的位置的情况下更新特定对象的值,但只知道该对象的 id 属性是 X?

谢谢!

4

1 回答 1

1

第一:你为什么使用 set 方法?我希望你的代码片段是(你需要先通过extend()定义你的类):

 App.AnArrayController = Ember.ArrayController.extend({
     content: [],
 }); 

App.AnObject = Ember.Object.extend({
   name: null,
   lastname: null,
   id: 0
});

如果 id 是唯一的,您可以使用 filterProperty。调用 App.initialize() 后,您可以在路由器的帮助下通过以下方式访问您的控制器:

var controller = App.router.get("anArrayController");
anObject = controller.findProperty("id", 1); //find Object with id 1
// do something with anObject
于 2013-01-03T10:42:18.630 回答