0

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

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 但代码似乎在我设置对象的位置中断。控制台中也没有错误。

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

4

1 回答 1

1

如果您想使用 Ember 的setand get's ,那么使用Ember.Objectand可能也是一个好主意Ember.Array

尝试这个:

AmbiantBox.AmbiantsController = Ember.ArrayController.extend({
  myArray: Em.A(),
  fillData: function(){
      obj = Ember.Object.create({index: 0, status: 'hide'});
      this.myArray.pushObject(obj);
  },
});
于 2013-05-15T23:46:11.077 回答