store.getat undefined - 但是存储已加载并具有数据

时间:2014-11-10 13:20:53

标签: javascript extjs extjs3

我在init完成并且表单处于活动状态后调用initComponent函数。

要测试我是这样设置的:

console.log(this.store);
console.log(this.store.getAt(0));

第一个显示商店 - 商店有数据。 第二个返回undefined。

为什么会这样?如果第一个console.log显示数据 - 它应该已经可用于第二个。

   init: function() {
     var rec = this.store.getAt(0);
     this.setValues(rec);
     this.id = rec.id;
   }

1 个答案:

答案 0 :(得分:1)

只需等待商店的加载事件,然后再访问它的数据。我猜测控制台很聪明,在对象发生变化时更新内容。

init: function(){
    this.store.on('load', function(){
        var rec = this.store.getAt(0);
        this.setValues(rec);
        this.id = rec.id;
    }, this);
}