EmberJS:更新对象内的属性

时间:2013-05-14 18:40:31

标签: ember.js ember-data

小而奇怪的问题。 我有一个对象数组。这是我的控制器。

AmbiantBox.AmbiantsController = Ember.ArrayController.extend({
  myArray: [],
  fillData: function(){
    //loop
      this.myArray.push({index: 0, status: 'hide'})
    //loopEnd
  },
  updateState: function(idx){
    arr=this.get('myArray');
    for(i=0;i<arr.length;++i){
    obj=arr[i]
    if(obj.index==idx){
      console.log(idx);
      obj.set('status','show');
      console.log('===========');
   }}}
});

我从viewSide调用此updateStats函数。 它工作正常,直到我控制参数idx的行,但代码似乎打破我设置对象的地方。控制台中也没有错误。

奇怪。任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

如果你想使用Ember的setget,那么使用Ember.ObjectEmber.Array也是个好主意。

试试这个:

AmbiantBox.AmbiantsController = Ember.ArrayController.extend({
  myArray: Em.A(),
  fillData: function(){
      obj = Ember.Object.create({index: 0, status: 'hide'});
      this.myArray.pushObject(obj);
  },
});