在ExtJS4中,为什么参数可以记录但不能以编程方式访问?

时间:2013-01-02 04:32:05

标签: javascript extjs4 sencha-architect

我正在使用Sencha Architect 2来创建应用程序。在编写无法访问数据的事件处理程序时,我遇到了几个不同的问题。

具体来说,我正在尝试编写一个AfterRender函数来以编程方式选择组合框中的第一个项目。组合框是从JSON商店填充的,它可以很好地加载。我无法访问加载的数据,所以我在函数中有以下代码来记录可用的内容:

onComboboxAfterRender: function(abstractcomponent, options) {
  // abstractcomponent.value = abstractcomponent.store.data.items[0].date;
  console.log(abstractcomponent);
  console.log(abstractcomponent.store);
  console.log(abstractcomponent.store.data);
  console.log(abstractcomponent.store.data.items);
  console.log(abstractcomponent.store.data.items[0]);
}

以下是javascript控制台输出:

console.log output

可以看出,在abstractcomponent.store.data中,记录了第三项,项目显示为空。然而,如果我钻进,则items是一个包含三个条目的数组。

显然我做的事情从根本上说是错误的。我很欣赏有关如何从After Render处理程序内部访问商店数据的建议,以及是否存在某种基本的ExtJS / JavaScript / JavaScript控制台误解,因为它对我来说没有任何意义。

1 个答案:

答案 0 :(得分:0)

这是一个参考。当您将其输出到控制台时,商店尚未填充。

但是,当您使用Chrome / Firebug并展开控制台时,它现在已经存在并将被填写。