1

我正在使用 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 控制台输出:

控制台日志输出

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

显然我在做一些根本错误的事情。我会很感激有关如何从 After Render 处理程序内部访问存储数据的建议,以及我是否存在某种基本的 ExtJS/JavaScript/JavaScript 控制台误解,因为这对我来说毫无意义。

4

1 回答 1

0

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

但是,当您使用 Chrome/Firebug 并展开控制台时,它现在就在那里并且将被填写。

于 2013-01-07T21:57:54.407 回答