EmberJs - 更新ArrayController内容的值

时间:2013-01-03 01:10:22

标签: web-applications ember.js

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

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

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

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

谢谢!

1 个答案:

答案 0 :(得分: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